Как использовать строку подключения SQL с ADO.NET Entity Data Model
===================================================================

 Я пытаюсь использовать ADO.NET Entity Data Model так, чтобы я мог на лету изменить, какую базу данных я тоже указываю. Изменение базы данных может потребовать совершенно новую строку подключения. Некоторые базы данных находятся на разных серверах. Поэтому мне нужна возможность передать моей модели данных объекта ADO.NET пользовательскую строку подключения, отформатированную так: «server = severaddress; database = database1; ID пользователя = test; Password = test1234;» 

 Отредактировано: мой класс сущностей реализует ObjectContext. Три конструктора, которые я могу использовать - это значение по умолчанию, передать в ConnectionString, передать в EntityConnection. Когда я использую конструкторы перегрузки, я получаю сообщения о том, что он не распознает «сервер» в строке подключения. 

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

 ObjectContext принимает строку соединения сущности в своем конструкторе. Строка подключения объекта состоит из трех частей: 

* Расположение метаданных (расположение отображаемых XML-файлов, созданных файлом EDMX)
* Поставщик хранилища данных
* Строка подключения к хранилищу данных (это то, что вы хотите предоставить)

 У вас есть несколько способов достичь того, что вы хотите. Обычно вам нужно объединить две части строки подключения: 

```
string format = "metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=\"{0}\"";
string connectionString = "server=severaddress;database=database1;UserID=test;Password=test1234;"

var context = ModelContext(String.Format(format, connectionString));

```
  Формат описывает расположение метаданных из Model.edmx, включенного в качестве ресурсов в сборку и поставщика Sql. Вторая часть - это ваша строка подключения. 

 Имейте в виду, что это будет работать, только если все ваши базы данных имеют одинаковую схему и используют один и тот же поставщик.