EF Core 设置环境无法按预期工作

dmo*_*181 7 c# environment-variables package-manager-console visual-studio-2019 ef-core-3.1

当我去更新数据库时,我$env:ASPNETCORE_ENVIRONMENT="Development"首先运行,然后再执行Update-Database命令来设置正确的环境。例如,如果我之前已将更改部署到测试,则运行此命令应该将我带回开发环境,而不再指向测试。

不幸的是,这仅在 33% 的情况下有效。每次我运行这个时,我也会运行$env:ASPNETCORE_ENVIRONMENT并检查它是否返回正确的环境,并且确实如此。然后我运行Update-Database我需要的命令,它以某种方式变回以前的环境。

任何人都知道我做错了什么或知道我将连接到正确的数据库的方法吗?如果访问了错误的数据库并且数据恰好被删除或系统出现故障,这可能会非常糟糕。

dmo*_*181 0

在过去的几年里,我解决这个问题的方法是拥有第二个终端窗口(我使用cmder,这样我就可以使用基于linux的命令行环境)并从那里使用dotnet命令。到目前为止,我在执行此操作时没有遇到任何问题,并且对包管理器控制台没有任何信心。

命令采用以下形式:

设置当前环境set ASPNETCORE_ENVIRONMENT=development

添加新的迁移: dotnet ef migrations add MyNewMigration

恢复迁移:dotnet ef migrations remove