【发布时间】:2020-05-15 02:26:53
【问题描述】:
为了通过 Entity Framework Core 执行迁移,我创建了一个设计时工厂,如 this article 中所述。目前,我已经实现了这个,这似乎有效:
public StudentContextCreateDbContext(string[] args)
{
string connectionString = "Data Source=localhost;Initial Catalog=MyCatalog;Integrated Security=True;";
var optionsBuilder = new DbContextOptionsBuilder<StudentContext>();
optionsBuilder.UseSqlServer(connectionString);
return new StudentContext(optionsBuilder.Options);
}
但是,我不希望使用硬编码的连接字符串。我试过这条线,从App.config得到它:
string connectionString = ConfigurationManager.ConnectionStrings["Local"].ConnectionString;
返回完全相同的连接字符串,只是来自App.config 文件。它在实际应用程序中有效,但是当我在设计时工厂使用它时,我得到了一个System.NullReferenceException。
如何在我的应用程序和设计时工厂之间共享相同的连接字符串,而不需要手动维护两者?
【问题讨论】:
标签: c# entity-framework entity-framework-core ef-code-first entity-framework-migrations