Получить строку подключения не из App.Config? - PullRequest
0 голосов
/ 17 мая 2018

Генерация кода при добавлении ADO.NET Entity Data Model добавляет следующий класс и файл App.config.

public partial class MyDbContext : DbContext
{
    public MyDbContext()
        : base("name=MyDbContext")
    {
    }

App.Config

  <connectionStrings>
    <add name="MyDbContext" 
     connectionString="data source=...;initial catalog=...;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" 
     providerName="System.Data.SqlClient" />
  </connectionStrings>

Однако,У меня уже есть строка подключения, сохраненная в Properties.Settings.Default.MyDbConnString.Как изменить код, чтобы использовать тот в свойствах?

1 Ответ

0 голосов
/ 18 мая 2018

Обратите внимание на имя аргумента конструктора для DbContext(String) constructor

public DbContext(string nameOrConnectionString);

Создает новый экземпляр контекста, используя данную строку в качестве имени или строки подключения для базы данных, чтобыкакое соединение будет установлено

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

public partial class MyDbContext : DbContext {
    public MyDbContext()
        : base(Properties.Settings.Default.MyDbConnString) {
    }
}

И удалите включение вфайл конфигурации, чтобы избежать любых конфликтов.

...