[英]Include not working after SelectMany + Select in Entity Framework Core
[英]Entity Framework Core SelectMany then Include
我似乎無法弄清楚如何在使用SelectMany時讓EF Core包含/加載相關對象。
context.MyObject
.Where(w => w.Id == Id)
.SelectMany(m => m.SubObject)
.Include(i => i.AnotherType)
本來會想到類似上面的東西會起作用,但是折疊的SubObject集合使AnotherObject為null並且不包括在內。
一直在尋找幾個小時。
任何幫助,將不勝感激。
謝謝
會想到像上面這樣的東西會起作用
它曾經在EF6中工作,但目前不受EF Core支持 - 它允許您僅使用查詢開始的實體的eager load,如文檔中的“ 加載相關數據 - 忽略的包含”部分所述:
如果更改查詢以使其不再返回查詢開頭的實體類型的實例,則忽略包含運算符。
因此,為了在您的場景中獲得熱切的加載工作,查詢應該是這樣的(假設您在SubObject
具有反向導航或FK屬性):
context.SubObject
.Where(so => so.Object.Id == Id) // or so.ObjectId == Id
.Include(i => i.AnotherType)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.