【发布时间】:2017-01-01 21:10:40
【问题描述】:
我想在 Dynamic 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 代码?
编辑:这不是一个重复的问题。我正在寻找适用于动态 LINQ 而非普通 linq 的语法
【问题讨论】:
-
您在这里遇到什么问题?它只是您需要的语法吗?试试documentation
-
@Oktay - 从动态 linq 的文档来看,它们似乎没有
GroupJoin重载 -
- slawekwin 是的,我需要语法。 @uteist 不是重复的。您的链接指向 LINQ,我需要动态 LINQ。
-
@OktayMyumyunov 你找到解决方案了吗?因为我有完全相同的问题
标签: c# sql linq dynamic-linq