我瞭解延遲加載,立即加載與.INCLUDE與.load()顯式加載,但一些混淆我是當你在查詢項目,並明確要求導航屬性這樣的:在實體框架中是否表現出懶惰,渴望或明確?
var address = from a in context.Addresses
select {a, Name = a.Contact.Name}
此處聯繫人是鏈接到聯繫人實體的地址中的導航屬性。
我嘗試了兩種延遲加載和關閉,它可以同時工作。我想知道我什麼時候要求我的數據,我渴望加載或延期加載?我的理解是,只有一個查詢將被提交給數據庫,這意味着它正在加載,除非在這種情況下,只有Contact實體的「Name」屬性纔會被加載,而不是整個聯繫實體(如果我要使用上下文)。 Addresses.include( 「聯繫方式」)?它是否使這樣的查詢比使用.include()進行熱切加載更高效?
一些澄清將不勝感激。