通过多对多关系的陈述,Linq

时间:2018-07-31 07:31:10

标签: c# linq entity-framework-6 many-to-many

Schema

这是我的实体类结构,也是一个实体框架6,代码优先。

B_C表是B和C的多对多关系的中间位置,分别为C_F。

从A开始,我想选择在F的 EffectiveFrom EffectiveTo 之间 Date 的所有表。我已经设法包括所有表,但是我在where子句上需要一些帮助。另外,约会方案比我解释的要复杂得多,可以使用Expression>做到吗?

这是我目前的进步,但是我感觉很远

            var portfolios = Repo.Filter<A>(f => Some_Array_of_Ids.Contains(f.Id))
                .Include("B.B_C.C.C_F.F")
                .Where(w => w.B_Id != null && 
                    w.B.B_C.Any(a => a.C.C_F.AsQueryable().Any(dateFilterExpr)));

更新:如果表达式为真,即使一次,看起来w.B.B_C.Any()也会填充所有B_C表。

0 个答案:

没有答案