Можно ли выполнять объединения в разных базах данных с помощью LINQ? Если да, то как?
Можно ли выполнять объединения по различным базам данных с помощью LINQ?
Ответ 1
Если базы данных находятся на одном сервере, вы можете создавать представления (и 3 имени), чтобы все таблицы были запрошены из одной базы данных.
Если базы данных находятся на разных серверах, вы можете использовать связанные серверы и представления (и 4 имени), чтобы все таблицы были запрошены из одной базы данных.
Ответ 2
вызов .ToList() запрашивает все записи в db, поэтому он будет много потреблять, если в таблицах много записей.
Или попробуйте этот Указанное выражение LINQ содержит ссылки на запросы, связанные с различными контекстами.
Ответ 3
можно реализовать с IQueryable запросом без ToList() на уровне БД. Но вы должны создать представление в первой базе данных, которое связано с таблицей из второй базы данных, и снова сгенерировать DataContext с новым созданным представлением. После этого вы можете легко объединить представление с таблицей в единый контекст. Это может быть полезно для таблиц с большим количеством записей (решение ToList() будет работать очень медленно)