如何将此SQL外部联接转换为LINQ
我想将其转换为Linq:如何将此SQL外部联接转换为LINQ,sql,linq,Sql,Linq,我想将其转换为Linq: SELECT {fields} FROM tableA AS A LEFT JOIN tableB AS B ON B.Field1 = MyVariable AND ( A.Key = B.Key OR A.Key = B.AlternateKey) 正是这一点或与AND子句结合在一起使我感到困惑 编辑:我可以把解决方案作为扩展方法吗。谢谢,我可以把它作
SELECT {fields}
FROM tableA AS A
LEFT JOIN tableB AS B
ON B.Field1 = MyVariable
AND ( A.Key = B.Key
OR A.Key = B.AlternateKey)
正是这一点或与AND子句结合在一起使我感到困惑
编辑:我可以把解决方案作为扩展方法吗。谢谢,我可以把它作为扩展方法吗?
from a in tableA
from b in tableB.Where(b => b.Field1 == MyVariable && (a.Key == b.Key || a.Key == b.AlternateKey)).DefaultIfEmpty()
select new { a, b };
tableA.SelectMany(
a => tableB.Where(b => b.Field1 == MyVariable && (a.Key == b.Key || a.Key == b.AlternateKey)).DefaultIfEmpty()
.Select(b => new { a, b })
);