簡體   English   中英

每次迭代的實體框架查詢

[英]Entity framework query per iteration

當經常使用EntityFramework時,會發生此錯誤:開發人員忘記了Include(x => x.Author)上的Include(x => x.Author)類的調用方法,然后在foreach周期中他調用了blog.Author 結果,在每個循環迭代中,EF都會進行數據庫查詢,這非常慢。

如何在這樣的代碼中檢測位置? 可能是靜態代碼分析器還是類似的東西?

在每個連續的集成版本中搜索“壞地方”都是理想的。 如果可能的話:)

恐怕我對您沒有靈丹妙葯,但是在一個無關緊要的代碼庫上遇到了類似的挫折,我以為我會投入2美分。 這是我緩解問題的方法。 這需要大量的工作,也許可以在任何新代碼上完成,並且只要有錯誤修復就可以完成。

我建議您將實體分為通常需要一起使用的匯總。 然后,您可以創建將這些聚合作為一個組使用的存儲庫。 例如,您始終可以通過查詢客戶來獲取訂單,但是如果您需要該產品的訂單項詳細信息,則必須通過OrderLineItem上的ProductId來查詢該產品。

基本思想是您始終使用聚合根。 這是領域驅動設計的概念,這是一個非常大的主題。 這是入門讀物: https : //lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/

http://dddcommunity.org/

暫無
暫無

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

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