C# EF核心集环境无法正常工作

C# EF核心集环境无法正常工作,c#,environment-variables,visual-studio-2019,ef-core-3.1,package-manager-console,C#,Environment Variables,Visual Studio 2019,Ef Core 3.1,Package Manager Console,当我要更新数据库时,首先运行$env:ASPNETCORE_ENVIRONMENT=“Development”,然后再执行更新数据库命令以设置正确的环境。例如,若我以前将更改部署到测试中,那个么运行这个命令应该将我指向我的开发环境,而不再指向测试 不幸的是,这只在33%的情况下有效。每次运行此程序时,我都会运行$env:ASPNETCORE_ENVIRONMENT,并检查它是否返回正确的环境。然后运行所需的updatedatabase命令,它会以某种方式更改回以前的环境 有人知道我做错了什么,或

当我要更新数据库时,首先运行
$env:ASPNETCORE_ENVIRONMENT=“Development”
,然后再执行
更新数据库
命令以设置正确的环境。例如,若我以前将更改部署到测试中,那个么运行这个命令应该将我指向我的开发环境,而不再指向测试

不幸的是,这只在33%的情况下有效。每次运行此程序时,我都会运行
$env:ASPNETCORE_ENVIRONMENT
,并检查它是否返回正确的环境。然后运行所需的
updatedatabase
命令,它会以某种方式更改回以前的环境


有人知道我做错了什么,或者知道我将连接到正确的DB的方法吗?如果命中错误的数据库,数据被删除或系统停机,这可能非常糟糕。

您不应该在命令行导出变量,而应该在数据库更新脚本中设置/导出变量。因此,如果您正在运行shell脚本,则可以通过标准的导出命令进行导出。如果您正在运行perl/python,那么应该更新脚本中的环境变量。这样,您将具有一致的行为。

您应该在数据库更新脚本中设置/导出变量,而不是在命令行中导出变量。因此,如果您正在运行shell脚本,则可以通过标准的导出命令进行导出。如果您正在运行perl/python,那么应该更新脚本中的环境变量。这样,您将拥有一致的行为。

您是指调试和发布模式吗?不,我是指设置将要更新的环境,因此QA、测试、登台、生产将是可能的示例。这样会影响正确的数据库。您是指调试和发布模式吗?不是,我是指设置要更新的环境,因此QA、测试、登台、生产都是可能的示例。这样会影响正确的数据库。我在本例中首先使用EF核心代码,因此我没有任何方法可以做到这一点。我在本例中首先使用EF核心代码,因此我没有任何方法可以做到这一点。