Выбор среды EF Core - PullRequest
       20

Выбор среды EF Core

0 голосов
/ 06 мая 2020

Недавно мы начали писать приложения на ядре. net с использованием EF Core в модели code first. Раньше мы изменяли строку подключения в web.config так, чтобы она указывала на базу данных, которую мы хотели обновить, а затем запускали Update-Database -Verbose, что хорошо работало.

Теперь, чтобы выбрать среду, чтобы использовалась правильная строка подключения, мы должны запустить $env:ASPNETCORE_ENVIRONMENT = "Development", а затем Update-Database -Verbose. Вот где возникает моя проблема, я могу запустить команду, чтобы настроить среду для разработки, но она по-прежнему будет указывать на мою тестовую среду, затем я могу снова запустить точные команды, и тогда она укажет на мою среду разработки.

Это известная проблема или я неправильно взаимодействую с EF Core? Я не хочу говорить о том, что у нас есть это приложение в производстве и мы случайно обновили производственную базу данных при попытке обновить мою базу данных разработчика.

1 Ответ

0 голосов
/ 07 мая 2020

В ASP. NET Core веб-приложении вы можете настроить ConfigureServices в Startup.cs, например, для подключения к соответствующей БД в зависимости от текущей среды:

    public void ConfigureServices(IServiceCollection services)
    {
        if (_env.IsDevelopment())
        {
            services.AddDbContext<MyDbContext>(options =>
                options.UseThisDb(MyDevDbConnectionString)
        );
        }
        else
        {
            // For production.
            services.AddDbContext<MyDbContext>(options =>
                options.UseThisDb(MyProdDbConnectionString)
        );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...