Я пытаюсь использовать консоль диспетчера пакетов с EF Core 2.2 в Visual Studio 2019 для выполнения команды Update-Database
. Я нацелен на конкретную базу данных c в моем коде, изменив строку подключения на основе значения ASPNETCORE_ENVIRONMENT. Код достигает этого, используя
public Startup(IHostinEnvironment env) {
if (env.IsDevelopment()) {
// set EF Core Dev connection string here
}
}
. В свойствах проекта на панели «Отладка» у меня установлено значение «Разработка», и, поскольку диспетчер пакетов Cosole игнорирует это и использует переменную среды, я набрал
PM> $ Env: ASPNETCORE_ENVIRONMENT = "Development"
Затем я проверяю его правильность, набрав
PM> $ Env: ASPNETCORE_ENVIRONMENT
И он правильно возвращает Разработка .
Но проблема в том, если я затем запускаю
PM> Get-DbContext
Он нацелен на мою производственную базу данных, а не на разработку, и действительно, когда снова набирает $ Env: ASPNETCORE_ENVIRONMENT, он дает Production !
В моем коде нет ничего, что изменит это значение на лету. Еще больше сбивает с толку тот факт, что в прошлом я без проблем предпринимал именно эти шаги.
Мы приветствуем любые идеи по устранению неполадок.