總之:它被稱爲不同實體的效果加載的。在實體框架中,有三個層次:惰性,顯式和熱切加載方法,您可以從中選擇,並在代碼中相應地使用。
換句話說,實體框架支持三種方法來加載相關實體:
上面顯示這兩種三種技術中討論本文中的細節 - Loading Related Entities。
低於你的代碼片段使用急切地加載:
context.Resources.Include(x => x.Variations).First();
只有前者的似乎爲我工作,但我找不到任何解釋爲什麼它的需要?
後來的代碼片段(在一個沒有.First()
)不爲你工作,因爲可以使用預先加載(見急切裝載上述相關實體)或Load方法實現相關實體的加載:
context.Resources.Include(x => x.Variations).Load();
// or a sample like
// Load the posts related to a given blog
context.Entry(blog).Collection(p => p.Posts).Load();
編輯:如果由於某種原因你感到困惑與延遲加載,那麼您可以使用該選項關閉它在上下文。
public MyContext()
{
this.Configuration.LazyLoadingEnabled = false;
}
你在結果中需要什麼實體? – lante
已更新提及渴望加載 –