Как создать динамическую строку подключения в Entity Framework 4? - PullRequest
2 голосов
/ 28 сентября 2010

Можно ли выбрать конкретную базу данных, которая будет использоваться с структурой сущностей? В настоящее время я использую строку подключения в Web.Config в качестве аутентификации базы данных.

У меня двенадцать баз данных, каждая из которых имеет одинаковую структуру и одинаковую хранимую процедуру.

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

Я хотел бы создать строку динамического соединения, которая будет включать имя базы данных, выбранное клиентом.

1 Ответ

2 голосов
/ 28 сентября 2010

Одним из способов может быть загрузка всех 12 вариантов в раскрывающемся списке.

Когда пользователь делает выбор, поместите этот ключ в Session.

 Session["UserChosenConnString"] = Request.Form("ddMyDatabaseTarget");

Затем предоставьте эту строку conn для вашего репо / слоя данных во время выполнения.

 string connString = Session["UserChosenConnString"].ToString();
 var db = new CustomerEntities(connString);

Существует множество возможностей улучшить это:

  • сохраните 12 вариантов в KeyValuePair<int,string> и сохраните только целое число ключа в Session.Затем найдите значение при попадании в базу данных.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...