我想在动态Linq中执行左外连接,但是我无法正确使用语法。在SQL中,它看起来像这样:
SELECT col1, col2, col3 from tableA as a
LEFT OUTER JOIN tableB as b on a.col1 = b.col1 AND a.col2 = b.col2 AND a.col3 = 1
在动态LINQ中,我尝试了这个:
dbContext.tableA
.GroupJoin(tableB, col1 == tableA.col1 && col2 == tableA.col2 && col3 == 1)
.Select('new(col1, col2, col3)');
第三个连接参数(列)是硬编码的,因为它不来自tableB。正确的LINQ代码是什么?
GroupJoin
的重载。 - Gilad Green