使用Appsettings.json中定义的不同连接字符串进行CodeFirst迁移

时间:2019-08-18 09:35:58

标签: c# entity-framework asp.net-core

在我的asp.Net core(2.2)项目中,我已经

appsettings.production.json

appsettings.staging.json

appsettings.development.json

每个服务器都有各自的连接字符串。我对模型进行了更改,先运行Add-Migration,然后运行update-database-但这只会更新开发服务器上的架构。

如何使用环境appsettings.json文件中定义的连接来定位/更新登台服务器和生产服务器?

我尝试在不同的环境中构建它,并且在不同的环境中运行时,我知道连接字符串已正确使用-但是如何获得EF来定位特定的数据库!?

1 个答案:

答案 0 :(得分:0)

您可以使用此命令来设置特定的环境,例如博客mention

setx ASPNETCORE_ENVIRONMENT "Development"

然后,您只需要运行dotnet ef migration cli命令

更新以确保您已经在startup.cs中设置了这样的环境配置

builder
    .SetBasePath(hostingEnvironment.ContentRootPath)
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .AddJsonFile($"appsettings.{hostingEnvironment.EnvironmentName}.json", optional: true)
    .AddEnvironmentVariables();

您可以查看我的完整配置here