Это «обходной путь», который мы нашли ...
Мы построили наши таблицы из другой базы данных вручную и, если она находится на том же сервере, мы добавили префикс имени таблицы:
<DatabaseName>.<SchemaName>.<YourTableName>
если они находятся на связанном сервере, то вы должны также поставить префикс к имени сервера:
<ServerName>.<DatabaseName>.<SchemaName>.<YourTableName>
Это позволит вам делать объединения и по-прежнему возвращать невыполненный IQueryable ... что мы и хотели. Другие 2 способа включают в себя объединение IEnumerables в памяти, что означает, что вы извлекаете все записи для каждой из них перед выполнением объединения (см. Выше) и выполнением соединения IQueryable с использованием метода содержимого с ограничениями ...
Надеемся, что в будущем DataContext будет построен достаточно умно, чтобы знать, что если серверы связаны, то вы можете объединяться между двумя разными.