Это возможно в LINQ to SQL, если вы создаете (один) типизированный DataContext, который содержит классы таблиц для объектов в обеих базах данных.Этот конструктор вам здесь не поможет, поэтому вам придется создавать некоторые классы таблиц вручную.Другими словами, используйте конструктор VS, чтобы создать типизированный DataContext для вашей основной базы данных, затем вручную добавьте классы для таблиц в другой базе данных, к которой вы хотите получить доступ:
[Table (Name = "OtherDatabase.dbo.lookup")]
public class Lookup
{
...
}
Редактировать: В версии LINQPad Premium теперь вы можете выполнять запросы к базе данных с SQL Server одним из двух способов.
Самый простой - это метод перетаскивания: удерживайте нажатой клавишу Ctrl
, покаперетаскивание дополнительных баз данных из проводника схем в редактор запросов.Чтобы получить доступ к этим дополнительным базам данных в ваших запросах, используйте нотацию database.table, например, Northwind.Regions.Take (100).Запрашиваемые вами базы данных должны находиться на одном сервере.
Второй подход - перечислить дополнительные базы данных, которые вы хотите запросить, в диалоговом окне свойств соединения.В этом диалоговом окне также можно выбрать базы данных из связанных серверов .Вот как это сделать:
- Добавить новое соединение LINQ to SQL.
- Выберите «Указать новую или существующую базу данных» и выберите основную базу данных, к которой вы хотите выполнить запрос.
- Установите флажок
Include Additional Databases
и выберите дополнительные базы данных, которые вы хотите включить.В этом диалоговом окне вы также можете выбирать базы данных из связанных серверов.
Теперь вы можете выполнять запросы между базами данных.Они должным образом оптимизированы, поскольку объединения будут происходить на сервере, а не на клиенте.