【发布时间】:2017-08-19 23:21:46
【问题描述】:
我想在不同的环境中执行迁移。我正在使用 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 类库中。
执行迁移时可以使用它,但我真的不喜欢这样。
这里的问题是我使用本地数据库进行开发,但我们也有一个开发服务器和一个具有不同连接字符串的登台服务器。我无法做到的是找到一种方法不在该类中对连接字符串进行硬编码。
有没有办法为不同的环境配置连接字符串,并在执行迁移时指示使用哪个?
【问题讨论】:
标签: c# asp.net entity-framework asp.net-core environment-variables