linq к sql: присоединитесь к нескольким столбцам от той же таблицы

16
задан OscarRyz 19 April 2012 в 21:39
поделиться

4 ответа

Вы можете поместите ваш запрос в предложение Where вместо использования оператора соединения.

Оператор соединения поддерживает несколько предложений в VB.NET, но не в C #.

В качестве альтернативы, вы можете использовать стиль ANSI-82 синтаксиса «SQL». Например:

from t1 in table1
from t2 in table1
where t1.x == t2.x
&& t1.y == t2.y
14
ответ дан 30 November 2019 в 15:14
поделиться

Это - единственный способ, которым я смог заставить это работать (в c#).

var qry = from t1 in table1
          join t2 in table2
          on new {t1.ID,t1.Country} equals new {t2.ID,t2.Country}
          ...
31
ответ дан 30 November 2019 в 15:14
поделиться

В VB:

 dim qry = FROM t1 in table1 _
           JOIN t2 in table2 on t2.ID equals t1.ID _
           AND t2.Country equals t1.Country 
1
ответ дан 30 November 2019 в 15:14
поделиться

из http://www.onedotnetway.com/linq-to-sql-join-on-multiple-conditions/

Обе эти таблицы имеют общий код PostCode и CouncilCode поля. Допустим, мы хотим получить все записи из торгового центра, в которых совпадают PostCode и CouncilCode on House. Это требует от нас объединения двух столбцов. В LINQ такое соединение может быть выполнено с использованием анонимных типов. Вот пример.

var query = from s in context.ShoppingMalls
        join h in context.Houses
        on
        new { s.CouncilCode, s.PostCode }
        equals
         new { h.CouncilCode, h.PostCode }
        select s;
13
ответ дан 30 November 2019 в 15:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: