с linq to sql, где хранится информация о подключении к базе данных? - PullRequest
1 голос
/ 02 июня 2009

Где в linq to sql хранится информация о соединении с базой данных?

Как я могу переопределить базу данных для другой базы данных для каждого запроса?

Ответы [ 4 ]

3 голосов
/ 02 июня 2009

Вы не можете сделать это за запрос; но вы можете по каждому контексту данных. Просто передайте другое соединение или строку соединения конструктору:

string connectionStringA = ..., connectionStringB = ...
using(var ctxA = new FooContext(connectionStringA)) {...}
...
using(var ctxB = new FooContext(connectionStringB)) {...}

using(SqlConnection conn = ...)
using(var ctxC = new FooContext(conn)) {...}
0 голосов
/ 02 июня 2009

Как уже говорилось, информация о базе данных хранится в файлах конфигурации. Отметьте тот в проекте, где вы создали свою dbml карту.

Тем не менее, DatabaseContext имеет конструктор, который принимает строку подключения в качестве параметра. Однако я не уверен, что есть хороший способ переопределить это для каждого запроса без создания нового объекта DatabaseContext. Что действительно может вызвать проблемы в будущем, если вы создаете сущности из двух разных объектов DatabaseContext.

0 голосов
/ 02 июня 2009

Вы передаете его экземпляру DataContext.

С созданным подклассом DataContext конструктор по умолчанию будет использовать проект .Settings и, следовательно, из файла .config.

0 голосов
/ 02 июня 2009

База данных соединение для linq находится в файлах web.config или application.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...