我想使用AutoMapper构建一个ViewModel(展平 - 数据投影),以便在ASP.net MVC应用程序中使用。实体框架和自动映射器中的数据投影
var tmp = from x in db.Mailings select Mapper.Map<Mailing, MailingViewModel>(x);
return View(tmp.ToList());
当然,当我尝试上面的例子,我得到的EF错误“LINQ到实体无法识别方法...方法,该方法不能被翻译成店的表达。”
我知道这是可以移动Automapper做它的魔力前.ToList(),但后来我取从数据库中的所有字段(而我只需要3个20场)
是否有可能以干净的方式使用它。 Clean =并非所有字段都从数据库中提取,但只有ViewModel所需的字段。在Automapper中可能吗?或者也许还有其他图书馆? (没有做手工;))
这是非常 “危险” 的使用AutoMapper的预测,因为如果你在地图上有一个扁平化操作('target.Prop1 = source.Ref1.Prop1')你MIG ht创建一个N + 1场景。 – 2011-03-22 13:50:10