好的,这就是问题所在,我在数据库中有一个视图,其中包含大量信息,100 列,vwComponantA
我的 .net 应用程序中有一个名为 ComponantA 的实体,它包含使用 [Column()] 属性的所有映射,这很好,可以工作,但是速度很慢,因为它在数据库上执行了一个 select * 来填充对象,这又可以了.
为了解决上述性能问题,我引入了 DynamicLinq。这允许我减少我带回的列的数量,并且仍然允许我使用类型安全来使用普通的 Linq 进行查询,这很棒。然后处理我带回的缩减字段,我有单独的 POCO 组件,每个组件都有自己的一组 [Column] 属性,在运行时使用映射类进行映射。
问题是在处理大型数据集时,它们之间的映射可能会非常慢,10000 条记录映射 10000 次等。EF 所做的是创建一个 DynamicProxyClass,然后您在组件之间进行映射。
我的问题是,我怎样才能避免映射并让 EF 为我做映射?(我处理IQueryable
不是IQueryable<T>
因为动态 linq)
必须有一种方法来利用 [Column] 属性,同时保持查询动态。
这是所有代码优先和实体框架 5。
谢谢你的帮助。缺口