2
所以我已經得到這種感覺,我應該關閉延遲加載,原因有二:我應該關閉實體框架中的延遲加載嗎?
- 查詢成爲非原子,因此可能會導致併發性錯誤。
- 我或其他程序員可能最終導致巨大的性能障礙。
當然,只要我們小心,這兩個問題都可以避免,但在性能稍微重要的項目中似乎有點不必要的風險。
作爲一個附註,我發現奇怪的是,1- *關係屬性變成null
,而不是在您通過延遲加載關閉時訪問它們時拋出異常。我想回去做所有事情,但是我擔心我可能會忽略一個錯誤,我將一個尚未加載的0- *關係解釋爲null
。
想法?
這是一個很棒的想法,將包含作爲字符串[]傳入。關於空引用,我的意思是1-0關係,即對零或一個對象的引用。我認爲這些可能是模棱兩可的。謝謝! – 2010-11-02 12:18:42
不用擔心。此外,通過使用includes,您可以通過傳遞一個「enum」數組而不是字符串,爲通常硬編碼的'.Include'代碼添加一些類型安全性。然後爲該枚舉創建一個擴展方法,該枚舉將枚舉轉換爲'.Include'字符串。這就是我們所做的。所以我們的代碼如下所示:'repository.FindSingle(1,PersonAssociations.Orders)'。只是一個獎金提示,免費:) – RPM1984 2010-11-02 20:35:15
是的,我在想,但我發現自己懶惰,因爲如果你給它一個不正確的參數,EF會拋出一個異常。 – 2010-11-02 23:46:06