【发布时间】:2016-03-10 21:59:09
【问题描述】:
假设我有以下两个表
- 一个
- B
- C
A、B 和 C 表有一个布尔“IsEnabled”列。
表之间存在一对多的关系,如下:
- A->B
- B->C
我正在使用实体框架来查询表,并且编程是用 C# 编写的。 假设,我需要 A 中的所有列,我执行以下操作:
var query = _context.A;
query.where( <where clause> )
如果我需要包含 B 的列以防止延迟加载,
query.Include ( s => s.B );
问题是,如何通过添加 where 子句仅选择 IsEnabled = 1 的行来包含 B 的列? 我正在寻找类似的东西:
query.Include ( s => s.B.where ( k => k.IsEnabled = 1 ))(这不起作用并引发运行时异常)
如果我们能得到上面的问题,我也想包含 C 的列,即 B 和 C 的 IsEnabled = 1 的行。这可能吗?
【问题讨论】:
标签: c# entity-framework iqueryable