我正在使用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秒)结果。
任何想法?
提前,谢谢!
更新
实体类:
两个实体类,一个是基类。在两者之间有大约27列/属性,其中大多数在基类上。
选择结果中的对象数量:
约75K。
正在执行的商店查询:
查询是视图中的选择(列),其中(1 = 1)
正在使用的API(DbContext或ObjectContext)
在EF 5 / POCO场景中,我正在使用DbContext
在EF 4 / Generated实体场景中,我使用的是ObjectContext。
**当使用EF 5 / DbContext时,我也尝试访问(较低级别)ObjectContext和ExecuteStoreQuery方法,这会产生与DbContext SqlQuery相同的缓慢结果。
答案 0 :(得分:0)
虚假警报......最终成为poco中的一小部分反射,在实现许多物体时性能下降。