实体框架5 SqlQuery慢速实现

时间:2013-01-17 03:16:38

标签: c# entity-framework-5

我正在使用EF 5,POCO对象和SqlQuery。物体的物化很慢,大约20秒。如果我使用sql management studio运行SQL查询,则查询将在大约2秒内运行。 (例如this.context.mytable.SqlQuery(query).AsNoTracking.ToList())

我以前使用与EF 4,Generated Entities和ExecuteStoreQuery完全相同的SQL查询。物体的物化对象并没有那么慢约10秒钟。

为什么使用POCO的性能差异?我已经尝试使用POCO的DbContext中的ExecuteStoreQuery和相同的慢速(20秒)结果。

任何想法?

提前,谢谢!

更新

  1. 实体类:
    两个实体类,一个是基类。在两者之间有大约27列/属性,其中大多数在基类上。

  2. 选择结果中的对象数量:
    约75K。

  3. 正在执行的商店查询:
    查询是视图中的选择(列),其中(1 = 1)

  4. 正在使用的API(DbContext或ObjectContext)
    在EF 5 / POCO场景中,我正在使用DbContext 在EF 4 / Generated实体场景中,我使用的是ObjectContext。

    **当使用EF 5 / DbContext时,我也尝试访问(较低级别)ObjectContext和ExecuteStoreQuery方法,这会产生与DbContext SqlQuery相同的缓慢结果。

1 个答案:

答案 0 :(得分:0)

虚假警报......最终成为poco中的一小部分反射,在实现许多物体时性能下降。