我试图编写一个查询,从一个数据库中获取信息并将其连接到另一个数据库中的信息。

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
            };

08-06 18:24