Tom*_*leu 5 c# linq-to-entities entity-framework automapper
我想使用AutoMapper构建一个ViewModel(展平 - 数据投影),以便在ASP.net MVC应用程序中使用.
var tmp = from x in db.Mailings select Mapper.Map<Mailing, MailingViewModel>(x);
return View(tmp.ToList());
Run Code Online (Sandbox Code Playgroud)
当然,当我尝试上面的示例时,我得到EF错误"LINQ to Entities无法识别方法...方法,并且此方法无法转换为存储表达式."
我知道可以在Automapper发挥其魔力之前移动.ToList(),但随后我从Db中获取所有字段(我只需要20个字段中的3个)
是否可以以干净的方式使用它.Clean =并非所有字段都是从DB中提取的,而只是ViewModel所需的字段.在Automapper中有可能吗?或者也许是其他图书馆?(不用手动做;))
是的,这是非常可能的.见http://www.devtrends.co.uk/blog/stop-using-automapper-in-your-data-access-code
编辑:我最近发现,AutoMapper中已存在此基础.为AutoMapper.QueryableExtensions添加一个using语句,并为您提供名为Project <>()的IQueryable扩展
| 归档时间: |
|
| 查看次数: |
10518 次 |
| 最近记录: |