AutoMapper绑定问题与实体框架映射

时间:2016-05-14 11:35:35

标签: c# linq-to-entities entity-framework-6 automapper

我在使用Entity Framework v6的应用程序中使用AutoMapper作为ORM。

我的问题陈述是,如果我通过任意单个实体上的LINQ to Entities执行单个查询,并通过AutoMapper与DTO映射实体数据,那么在数据绑定时将同时执行许多其他查询。

请有人告诉我,如何避免这个问题。

2 个答案:

答案 0 :(得分:0)

我认为这可能是由于启用了延迟加载而发生的。

阅读这个回答:

Is automapper preventing lazy loading with EF?

答案 1 :(得分:0)

这是预期的行为。请记住,AutoMapper只是查看目标类型,并将映射源类型的匹配属性。如果您不希望懒惰地映射某些属性,则有几个选项:

  1. 从目标模型中删除属性
  2. 使用Include急切地获取属性
  3. 在AutoMapper(ProjectTo)中使用LINQ投影强制EF使用Select LINQ投影根据源类型获取所需的任何数据