我對(duì)具有延遲加載功能的Linq to SQL非常感興趣。在我的項(xiàng)目中,我使用了AutoMapper將數(shù)據(jù)庫模型映射到域模型(從DB_RoleInfo到DO_RoleInfo)。在我的存儲(chǔ)庫代碼中,如下所示: public DO_RoleInfo SelectByKey(Guid Key) { return SelectAll().Where(x => x.Id == Key).SingleOrDefault(); } public IQueryable<DO_RoleInfo> SelectAll() { Mapper.CreateMap<DB_RoleInfo, DO_RoleInfo>(); return from role in _ctx.DB_RoleInfo select Mapper.Map<DB_RoleInfo, DO_RoleInfo>(role); }SelectAll方法運(yùn)行良好,但是當(dāng)我調(diào)用時(shí)SelectByKey,出現(xiàn)錯(cuò)誤:方法“ RealMVC.Data.DO_RoleInfo MapDB_RoleInfo,DO_RoleInfo”無法轉(zhuǎn)換為SQL。是Automapper不完全支持Linq嗎?我嘗試使用以下手動(dòng)映射代碼代替Automapper:public IQueryable<DO_RoleInfo> SelectAll(){ return from role in _ctx.DB_RoleInfo select new DO_RoleInfo { Id = role.id, name = role.name, code = role.code };}這種方法以我想要的方式工作。
添加回答
舉報(bào)
0/150
提交
取消