如何在 Iqueryable include 语句中调用孙表
how to call grand child tables in the Queryable include statement
假设我有以下三个tables
- 一个
- B
- C
table之间存在一对多的关系如下:
- A->B
- B->C
我正在使用 Entity framework 查询 table 并且使用 C# 编程。
假设,我需要 A 中的所有列,我执行以下操作:
var query = _context.A;
query.where( <where clause> )
如果我需要包含 B 的列以防止延迟加载,
query.Include ( s => s.B );
问题是,如何包含 C 的列以防止延迟加载?
我正在寻找类似的东西:
query.Include ( s => s.B.C )
(这不起作用,因为 table 之间的一对多关系)
您可以加载第三个级别作为查询的一部分,如下所示:
query.Include (s => s.B.Select(b=>b.C));
如果您转至此 msdn page 中的 备注 部分,您将找到几个如何使用 Include
扩展方法包含不同级别的示例。
假设我有以下三个tables
- 一个
- B
- C
table之间存在一对多的关系如下:
- A->B
- B->C
我正在使用 Entity framework 查询 table 并且使用 C# 编程。 假设,我需要 A 中的所有列,我执行以下操作:
var query = _context.A;
query.where( <where clause> )
如果我需要包含 B 的列以防止延迟加载,
query.Include ( s => s.B );
问题是,如何包含 C 的列以防止延迟加载? 我正在寻找类似的东西:
query.Include ( s => s.B.C )
(这不起作用,因为 table 之间的一对多关系)
您可以加载第三个级别作为查询的一部分,如下所示:
query.Include (s => s.B.Select(b=>b.C));
如果您转至此 msdn page 中的 备注 部分,您将找到几个如何使用 Include
扩展方法包含不同级别的示例。