gpt4 book ai didi

c# - 运行 EF 7 迁移时指定 HostingEnvironment

转载 作者:行者123 更新时间:2023-11-30 17:41:37 29 4
gpt4 key购买 nike

我已经根据我的应用程序环境为我的 DbContext 设置了连接字符串。所以在我的 Startup.cs 中我有

public Startup(IHostingEnvironment env, IApplicationEnvironment app)
{
Configuration = new ConfigurationBuilder(app.ApplicationBasePath)
.AddJsonFile("config.json")
.AddJsonFile($"config.{env.EnvironmentName}.json", false)
.AddEnvironmentVariables()
.Build();
}

此配置如下注入(inject)到我的 DbContexts 中

public MyDbContext(IConfiguration configuration)
{
Configuration = configuration;
}

protected override void OnConfiguring(DbContextOptionsBuilder builder)
{
var connString = Configuration.Get("SqlDb:ConnectionString");
builder.UseSqlServer(connString);
}

因此我可以根据需要在各种环境中使用我的项目(通过在应用程序或主机设置中设置 ASPNET_ENV)

但是,当我运行 ef migrations(出于显而易见的原因)时,我根本无法指定 HostingEnvironment,启动类会查找名为“config..json”的文件,因为缺少环境名称。有没有办法解决这个问题或我可以做的解决方法?现在,每当我运行迁移时,我都必须在运行迁移时对连接字符串进行硬编码

出于兴趣,我使用 dnx 从 powershell 运行迁移。 ef命令

总而言之,是否可以通过命令指定我的主机环境,或者在运行这些命令时执行任何其他类型的解决方法来指定我的环境?

最佳答案

迁移发现迁移服务的方式将在即将推出的 EF 版本中发生变化。

这是一个 WIP。请参阅 EF7 的 Wiki - Design Meeting Notes (September 17, 2015)Issue 2294

关于c# - 运行 EF 7 迁移时指定 HostingEnvironment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743767/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com