如何在Entity Framework LINQ To Entities中进行联盟?

Ram*_*akr 28 c# t-sql linq union-all entity-framework-4

我遇到了一个我必须使用Union all的场景,我如何在LINQ中实现这样的实体?

Jus*_*ony 57

这是您正在寻找的答案.使用Concat关键字.

从示例:

var query = (from x in db.Table1 select new {A = x.A, B = x.B})
    .Concat( from y in db.Table2 select new {A = y.A, B = y.B} );
Run Code Online (Sandbox Code Playgroud)

  • 这很棒。我错误地使用了query1.Union(query2)。看起来合乎逻辑,对吧? (3认同)

Str*_*ior 6

我相信Concat这就是你要找的。

var allResults = resultSet1.Concat(resultSet2);
Run Code Online (Sandbox Code Playgroud)

显然,两个结果集必须使用相同的类型。而且我相信首先对结果集的构建方式还有其他要求,但我不知道所有细节。