Возможно ли динамическое изменение строки подключения в файле web.config с использованием Entity Framework? - PullRequest
0 голосов
/ 04 января 2019

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

1 Ответ

0 голосов
/ 04 января 2019

Вам не нужно загружать строку подключения из web.config. Реализуйте конструктор в вашем DbContext, который принимает строку подключения, и вы можете предоставить все, что захотите.

В EF Core это выглядит так:

public class MyDatabase : DbContext
{
    readonly string connectionString;

    public MyDatabase(string connectionString)
    {
        this.connectionString = connectionString;
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(connectionString);
        base.OnConfiguring(optionsBuilder);
    }
}

и в EF6 вот так:

public class MyDatabase : DbContext
{
    public MyDatabase(string connectionString) : base(connectionString)
    {

    }
}

Обратите внимание, что при динамическом изменении строки подключения DbContext не будет инициализироваться несколько раз.

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