Linq to SQL一对多关系加入

时间:2014-10-01 09:24:11

标签: c# linq linq-to-sql linq-to-entities

我无法加入。总体查询将是巨大的,但基本上,用户输入1个ID,报告数据将从数据库中填充。

可以有一对多的关系。我做了... join oneToManyTable_ in db.tableA on ID equals oneToManyTable_.DeviceId into oneToManyTable。此表达式返回IEnumerable。现在麻烦 - 我必须加入更多表格的每个实体。我怎么做?如果我写... join anotherTable in db.tableB on oneToManyTable.ID equals anotherTable.ID into oneToManyTable,它会对我大喊,oneToManyTable是IEnumerable。 希望你能理解我的麻烦。

1 个答案:

答案 0 :(得分:0)

如果您可以更具体,那就更容易了。无论如何,我认为你的问题是你在第一次加入后没有使用select。格式应该是这样的:

var output =
from class1 in context.Table1
join class2 in context.Table2 
    on class1.ID equals class2.DeviceID
select new { Class1 = class1, Class2 = class2 } into firstJoin
join class3 in context.Table3 
    on firstJoin.Class1.ID equals class3.ID
select new { firstJoin, Class3 = class3 }

这会将你的三个类加入他们的ID,并在输出中提供他们所有的属性。