我正在使用EF 5,POCO對象和SqlQuery。對象的實現非常慢,大約20秒。如果我使用sql管理工作室運行SQL查詢,則查詢在大約2秒內運行。 (例如this.context.mytable.SqlQuery(query).AsNoTracking.ToList())實體框架5 SqlQuery緩慢實現
我以前使用與EF 4,生成的實體和ExecuteStoreQuery完全相同的SQL查詢。物體的實現速度並不像10秒鐘那麼慢。
爲什麼使用POCO的性能差異?我已經嘗試了使用POCO的DbContext中的ExecuteStoreQuery,並使用相同的緩慢(20秒)結果。
任何想法?
提前,謝謝!
更新:
實體類:
兩個實體類,一類是基礎類。兩者之間大約有27列/屬性,大部分屬於基類。選擇結果中的對象數量:
約75K。存儲查詢被執行:
該查詢是從視圖中選擇(列),其中(1 = 1)- 正在使用
API(的DbContext或ObjectContext的)
在EF 5/POCO場景我正在使用DbContext。
在EF 4/Generated entities場景中,我使用了ObjectContext。**使用EF 5/DbContext時,我也嘗試訪問(較低級別的)ObjectContext和ExecuteStoreQuery方法,該方法的結果與DbContext SqlQuery的結果相同。
請提供更多信息 - 實體類,選擇結果中的對象數,正在執行的存儲查詢,正在使用的API('DbContext'或'ObjectContext')。 – Dennis