我试图编写一个查询,从一个数据库中获取信息并将其连接到另一个数据库中的信息。
TableA
idA
valueA
idB
TableB
idB
valueB
棘手的是,在tablea中,idb并不总是被定义的,所以当我做一个普通的连接时,我只得到tablea有idb值的结果。我想要的是能够从t able a中获取所有信息,即使它没有相应的idb值。
最佳答案
下面是左join的查询表达式语法版本,用于跟踪tvanfosson的答案。
var query = from rowA in db.TableA
join rowB in db.TableB
on rowA.idB equals rowB.idB into b
from item in b.DefaultIfEmpty()
select new
{
idA = rowA.idA,
valueA = rowA.valueA,
idB = rowA.idB,
valueB = item != null ? item.valueB : 0 // or other default value
};