C# Linq或EF中的外部联接
我有两张桌子C# Linq或EF中的外部联接,c#,linq,entity-framework,C#,Linq,Entity Framework,我有两张桌子 T1 T2 ------------- id1 id2 ----------- 1 3 2 5 3 4 我想得到一个外连接,这样我得到1,2,3,4,5 我正在使用以下Linq命令 var newList = (from i in T1 join d in T2 on i.id1 equals d.id2 into output
T1 T2
-------------
id1 id2
-----------
1 3
2 5
3
4
我想得到一个外连接,这样我得到1,2,3,4,5
我正在使用以下Linq命令
var newList = (from i in T1
join d in T2
on i.id1 equals d.id2 into output
from j in output.DefaultIfEmpty()
select new {i.id});
我得到的结果是1,2,3,4少了5个。我怎样才能让它给我新列表1,2,3,4,5
请帮助在LINQ中,除了外部连接之外,没有直接的替代方法。你必须这样解决它: 在查询中,由于i.id1上的
等于d.id2
,您只编写了i
,该也存在于T2
中
var result = T1.Select(item => item.id1).Union(T2.Select(item => item.id2));
您可以使用Union,如:
var结果=T1.联合(T2)
你可以参考这个可能的重复,我已经看过了,每个表上有2列无法解决