如果我有一个查询,看起来像这样:实体框架包括凡
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对不起,这个表达式上还有另外一个关卡,我会编辑它,对不起 –