如果我有一個查詢,看起來像這樣:實體框架包括凡
var forms = repo.GetForms().Where(f => f.SubForms.Any(sf => sf.Classes.Any(c => c.TermId == termId)));
從這裏就可以看到我的架構如下:
SubForm
有很多Class
其中有許多Term
。
我想要什麼:
所有SubForms
他們Classes
在特定Term
。
現在發生的事情是,我得到的是具有特定Term
任何Class
所有SubForm
。這意味着SubForm
回來了全部孩子Class
而不僅僅是與Term
有關的。
例如,我有2個學期,每個學期有2個班。這個查詢在該特定術語中帶回4個類而不是2個。
有什麼Include('Expression')
,我可以用它來說我只想包括所有基於條件的類?或者是我的查詢錯誤?
第一個'Any'應該是'Where',對吧?否則,你的查詢只會返回一個'bool',並且說:「是否有任何具有給定termId的類的子類,是或否? – Slauma
@Slauma對不起,這個表達式上還有另外一個關卡,我會編輯它,對不起 –