簡體   English   中英

實體框架5 SqlQuery緩慢實現

[英]Entity Framework 5 SqlQuery Slow Materializing

我正在使用EF 5,POCO對象和SqlQuery。 對象的實現非常緩慢,大約20秒。 如果我使用sql management studio運行SQL查詢,則查詢將在2秒鍾內運行。 (例如this.context.mytable.SqlQuery(query).AsNoTracking.ToList())

我以前在EF 4,生成的實體和ExecuteStoreQuery中使用了完全相同的SQL查詢。 對象的實現並沒有慢到大約10秒。

為什么使用POCO的性能會有所不同? 我已經嘗試過使用POCO來從DbContext使用ExecuteStoreQuery,並具有相同的緩慢(20秒)結果。

有任何想法嗎?

提前謝謝!

更新:

  1. 實體類:
    有兩個實體類,一個是基類。 兩者之間大約有27列/屬性,大多數在基類上。

  2. 選擇結果中的對象數:
    約75,000。

  3. 存儲查詢正在執行:
    該查詢是從(1 = 1)的視圖中選擇的(列)

  4. 使用的API(DbContext或ObjectContext)
    在EF 5 / POCO方案中,我正在使用DbContext。
    在EF 4 / Generated實體場景中,我正在使用ObjectContext。

    **使用EF 5 / DbContext時,我還嘗試訪問(較低級別的)ObjectContext和ExecuteStoreQuery方法,該方法的結果與DbContext SqlQuery相同。

錯誤的警報...最終導致poco的少量反射,從而在實現許多對象時降低了性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM