2011-12-16 3 views

ответ

4

Вы не можете подключаться между различными контекстами данных. Вам необходимо будет выполнить соединение с линковыми объектами

var crossJoin = from a in context.TableA.AsEnumerable() 
       from b in context2.TableB.AsEnumerable() 
       select new 
       { 
        a, 
        b 
       }; 
+0

Это место в контексте данных. Это не вопрос о двух разных контекстах данных, как я упоминал в ссылке. –

+0

@Gator - Извините, я пропустил это. Я обновил ответ – Aducci

+0

А! Thats, что я, хотя ... –

1

Никакой запрос структуры инфраструктуры не может пересекать границу одного контекста. Таким образом, кросс-соединение поддерживается, поскольку @Aducci показал в своем ответе, но кросс-контекст или кросс-база запросов linq-to-entity не поддерживаются.

+0

Это правильный ответ на вопрос, который «нет», но вы могут присоединяться к двум различным спискам объектов, пока они были «выполнены». Как уже отмечалось, он будет фильтровать в приложении не базу данных, которая должна быть рассмотрена – hanzolo

0

Использование EF Core 2.0 и ASPNET Core 2.0. Вы можете перекрестно присоединиться к этой ссылке. Обратите внимание на пример NonEquijoin.

https://docs.microsoft.com/en-us/dotnet/csharp/linq/perform-custom-join-operations 
Смежные вопросы