我对具有延迟加载功能的Linq to SQL非常感兴趣。在我的项目中,我使用了AutoMapper将数据库模型映射到域模型(从DB_RoleInfo到DO_RoleInfo)。在我的存储库代码中,如下所示: 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方法运行良好,但是当我调用时SelectByKey,出现错误:方法“ RealMVC.Data.DO_RoleInfo MapDB_RoleInfo,DO_RoleInfo”无法转换为SQL。是Automapper不完全支持Linq吗?我尝试使用以下手动映射代码代替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 };}这种方法以我想要的方式工作。
2 回答
- 2 回答
- 0 关注
- 718 浏览
添加回答
举报
0/150
提交
取消