gpt4 book ai didi

c# - 在没有硬编码连接字符串的类库中执行asp.net core EF迁移

转载 作者:行者123 更新时间:2023-11-30 21:41:43 27 4
gpt4 key购买 nike

我想在不同的环境中执行迁移。我正在使用 Entity Framework 和 ASP.NET Core。现在我有这个:

public class TemporaryDbContextFactory : IDbContextFactory<ApplicationDbContext>
{
public ApplicationDbContext Create(DbContextFactoryOptions options)
{
var builder = new DbContextOptionsBuilder<ApplicationDbContext>();
builder.UseSqlServer("Data Source=.\\LOCALHOST;Initial Catalog=MyDB;Integrated Security=True;MultipleActiveResultSets=true");

return new ApplicationDbContext(builder.Options);
}
}

此代码位于将数据库交互与服务器代码分开的 DAL 类库中。

执行迁移时可以使用它,但我真的不喜欢这样做。

这里的问题是我使用本地数据库进行开发,但我们还有一个开发服务器和一个具有不同连接字符串的临时服务器。我无法做到的是找到一种不硬编码该类中的连接字符串的方法。

有没有办法为不同的环境配置连接字符串并指示在​​执行迁移时使用哪个?

最佳答案

是的,您可以为此使用环境变量。

这就是为什么你有 appsettings.<EnvironmentName>.json

Configuration in ASP.NET Core
还不错微软文章介绍Working with multiple environments


仅供引用
Environment.GetEnvironmentVariable

关于c# - 在没有硬编码连接字符串的类库中执行asp.net core EF迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043235/

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