在EF4中是否有一種相對簡單的方法來急切地加載實體的所有相關實體?我在想這個擴展方法是完美的。我有一個使用POCO的場景,其中一個實體具有其他實體的多個導航屬性,而這些導航屬性又具有自己的導航屬性。不用說,這是很多循環和加載來急切地加載一切。當我調用擴展方法時,我想要加載並準備好所有屬性,以便關閉LazyLoading。EF4 - 加載所有相關實體的簡單方法?
喜歡的東西:
using(var context = new MyEntities())
{
var widget = context.Widgets.FirstOrDefault();
widget.RecursivelyLoadAllPropertiesForMe() // magical extension method I wished existed
}
爲什麼 「循環的很多」?你實際上只需要很多'Include'運算符,可能帶有像Include(「Customer.Contacts」)等虛線路徑。每個實體有一個擴展方法不是問題。但我不確定:你是否正在尋找一種爲所有實體類型加載導航屬性而不明確指定所有這些「Include」的方法? – Slauma
但是,在獲取小部件之前,您必須定義包含。如果您嘗試通過迭代並移動所有導航屬性來加載它,性能將會非常糟糕。 – Andreas
@Slauma準確地說,我不想手動指定所有包含。 – Crackerjack