Linq或EF中的外部连接
本文关键字:外部 连接 EF Linq | 更新日期: 2023-09-27 18:15:44
我有两个表
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});
我得到I 1 2 3 4少了5。我怎么让它给我newList 1 2 3 4 5
在LINQ中没有OUTER JOIN
的直接替代方案。你必须像这样解决它:
在查询中,您只写了i
,因为on i.id1 equals d.id2
也存在于T2
中。
var result = T1.Select(item => item.id1).Union(T2.Select(item => item.id2));
您可以使用Union:
var result = T1.Union(T2);你可以参考这个c# linq union问题