在LINQ方法语法中包含嵌套表

时间:2015-10-15 16:30:55

标签: c# entity-framework linq extension-methods

我有4个表用外键连接。

MasterTable01(外键MasterTable02Id

MasterTable02(外键MasterTable03Id

MasterTable03(外键MasterTable04Id

MasterTable04

现在我想在结果集中包含所有这些表。

var result = context.MasterTable01
                    .Include(MasterTable01)
                    .Include(MasterTable02.MasterTable03)
                    .Include(MasterTable03.MasterTable04)

以及如何阅读嵌套值。

result.foreach(x => new myObject(x.MasterTable01.Desc,
                                 x.MasterTable01.MasterTable02.Desc,
                                 x.MasterTable01.MasterTable02.MasterTable03.Desc));

1 个答案:

答案 0 :(得分:1)

如果表格是1对多,那么:

var result=context.MasterTable01
  .Include(t1=>t1.MasterTable02.Select(t2=>t2.MasterTable03.Select(t3=>t3.MasterTable04))

如果表格是1:1,那么:

var result=context.MasterTable01
  .Include(t1=>t1.MasterTable02.MasterTable03.MasterTable04)