当涉及两个以上的表时,如何将来自相似字段的单个表的两个左连接转换为 LINQ? [复制]
Posted
技术标签:
【中文标题】当涉及两个以上的表时,如何将来自相似字段的单个表的两个左连接转换为 LINQ? [复制]【英文标题】:How can two left joins from a single table on similar fields be translated into LINQ when more than two tables are involved? [duplicate] 【发布时间】:2021-10-22 17:11:45 【问题描述】:这是查询:
SELECT colA, colB, colC
FROM TableA
LEFT JOIN TableB
ON TableA.colA = tablea.colA
LEFT JOIN TableC
ON TableA.colA = TableC.colA
这是我的 LINQ 代码:
from a in TableA
join b in TableB on a.colA equals b.colA
join c in TableC on a.colA equals c.colA
select new values here
但它似乎不起作用。
Here 是我们将使用的确切架构
【问题讨论】:
这能回答你的问题吗? LEFT OUTER JOIN in LINQ Don’t use Linq’s Join. Navigate! 【参考方案1】:试试这个
data= (from a in TableA
join b in TableB on a.colA equals b.colA into bj
from b in bj.DefaultIfEmpty()
join c in TableC on a.colA equals c.colA into cj
from c in cj.DefaultIfEmpty()
select new a.Cola,b.Colb, c.Colc).ToList();
【讨论】:
以上是关于当涉及两个以上的表时,如何将来自相似字段的单个表的两个左连接转换为 LINQ? [复制]的主要内容,如果未能解决你的问题,请参考以下文章