Я хочу сделать левое внешнее соединение в Динамическое Linq, но я не могу получить синтаксис справа. В SQL это будет выглядеть следующим образом:C# - Динамическое Linq слева внешнее соединение по нескольким свойствам
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?
EDIT: Это не дублирующий вопрос. Я ищу синтаксис, который работает с динамическим LINQ, а не с обычным linq
Какая у вас проблема? Это просто синтаксис, который вам нужен? Попробуйте [документацию] (https://msdn.microsoft.com/en-us/library/bb534297%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396) – slawekwin
Возможный дубликат [LEFT OUTER JOIN in LINQ] (http://stackoverflow.com/questions/3404975/left-outer-join-in-linq) – uTeisT
@Oktay - из документации динамического linq не похоже, что у них перегрузка GroupJoin –