我喜欢使用 linq 在 3 个表上进行联合。
不知道为什么像下面这样的东西不起作用:
var repdata = (from p in db.Table1
select p)
.Union(from p in Table2
select p);
最佳答案
Union
仅适用于相同的元素类型。你可以使用:
var data = db.Table1.Select(p => new { p.Value1, p.Value2 })
.Union(db.Table2.Select(q => new { q.Value1, q.Value2 })
.Union(db.Table3.Select(r => new { Value1 = r.Alias1, Value2 = r.Other });
这里匿名类型用作将所有三个表投影到的通用类型,因此
Union
能行得通。
关于Linq 与 3 个表上的联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7854353/