【发布时间】:2020-07-09 01:56:52
【问题描述】:
我正在尝试在 Visual Studio 2019 中使用带有 EF Core 2.2 的包管理器控制台来运行 Update-Database 命令。我通过根据 ASPNETCORE_ENVIRONMENT 的值更改连接字符串来定位我的代码中的特定数据库。
代码通过使用
public Startup(IHostinEnvironment env) {
if (env.IsDevelopment()) {
// set EF Core Dev connection string here
}
}
在项目属性“调试”面板中,我将值设置为“开发”,由于包管理器 Cosole 忽略了它并使用了环境变量,所以我输入了
PM> $Env:ASPNETCORE_ENVIRONMENT = "开发"
然后我通过输入验证它是否设置正确
PM> $Env:ASPNETCORE_ENVIRONMENT
而且它正确地返回发展。
但问题是如果我再跑
PM> Get-DbContext
它针对的是我的生产数据库而不是开发数据库,事实上,当再次输入 $Env:ASPNETCORE_ENVIRONMENT 时,它会产生 Production!
我的代码中没有任何内容可以即时更改此值。 更令人困惑的是,我过去完全采取了这些步骤,没有任何问题。
如有任何故障排除想法,我们将不胜感激。
【问题讨论】:
标签: visual-studio-2019 ef-core-2.2