實體框架中的延遲加載是加載和訪問相關實體時發生的默認現象。然而,急切的加載被稱爲強制加載所有這些關係的做法。我遇到了什麼情況下急切加載比延遲加載更有利的問題。提出這個問題,因爲很明顯,延遲加載對資源更友好,即使我們使用方法,我們仍然可以利用延遲加載行爲。然而,我想可能延遲加載會增加對實際數據庫的請求數量,也許這就是爲什麼有時開發人員使用Inlcude
方法強制加載所有關係。例如,當在MVC 5中使用Visual Studio自動腳手架時,在控制器中自動創建的Index方法總是使用Eager Loading,並且在這種情況下,我總是有一個問題,爲什麼微軟默認使用Eager Loading。延遲加載vs預先加載
如果有人向我解釋,在什麼情況下,加載比延遲加載更有利,我們爲什麼要使用它,而對於更加資源友好的Lazy Loading來說,我將不勝感激。
想象一下,您的數據庫上下文將被丟棄並且不再發生延遲加載的情況。然後急切的加載是有益的。 – Transcendent
我看到很多項目因爲性能問題而失敗,這是由於「N + 1選擇」問題導致的,當執行延遲加載時會出現更快的性能問題,所以一定要看看這個問題 –