我正在使用 Entity Framework 5,并且正在执行一个查询,该查询返回一个相对较大的结果集,大约 30,000 行。查询本身执行速度非常快,只需要大约 700 毫秒。
在构建我调用的 linq 查询之后query.Load();
,然后DataContext.Set<MyType>.Local
作为一个返回ObservableCollection
给调用者。结果显示在可编辑的网格中。
问题在于query.Load();
通话 - 大约需要 60 秒,这太长了。我猜这是 EF 将结果转换为 .NET 对象的地方?我已经尝试过分析,但它不会比IQueryable.Load
:/
任何想法如何提高性能?
顺便说一句,我尝试升级到 EF6 看看是否有帮助,但实际上情况变得更糟,query.Load();
通常需要 100 秒!