簡體   English   中英

如何使用EF中的Include執行多對多Linq查詢

[英]How to perform a many-to-many Linq query with Include in the EF

我不知道如何使用Linq和EF執行此查詢。

想象一下,我有三個表A,B和C。

A和B具有多對多關系。 B和C具有一對多關系。

我想從B獲取記錄,包括C,但從A的ID過濾。 我可以輕松地從B獲得記錄:

var result = Context.A.Where(x => x.Id.Equals(aId)).SelectMany(x => x.B);

但是當我嘗試加入CI時,卻不知道該怎么做:

//This doesn't work    
var result = Context.A.Where(x => x.Id.Equals(aId)).SelectMany(x => x.B.Include("C"));

我也沒有運氣嘗試過它(相當於上面):

//Not working
var result = (from a in Context.A.Where(x => x.Id.Equals(aId))
              from b in a.B.Include("C")
              select b);

謝謝你的幫助。

好的,我找到了Any擴展方法...

這是解決方案:

var result = (from b in Context.B.Include("C")
              where b.A.Any(x => x.A.Equals(aId))
              select b);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM