我正在 App.config 中更改 EntityFramework 连接字符串,如下所示:
var connectionString = new SqlConnectionStringBuilder(entityConnectionString.ProviderConnectionString);
connectionString.UserID = dbUser;
connectionString.Password = dbPass;
connectionString.InitialCatalog = dbCatalog;
connectionString.DataSource = dbServer;
entityConnectionString.ProviderConnectionString = connectionString.ToString();
cString.ConnectionString = entityConnectionString.ToString();
conf.Save(ConfigurationSaveMode.Full);
ConfigurationManager.RefreshSection("connectionStrings");
但是 EntityFramework 继续使用旧的连接设置,直到应用程序重新启动。有没有办法强制 EntityFramework 从 App.config 获取新的连接字符串?
最佳答案
我相信特拉维斯是对的。这是我用来执行此操作的代码:
public void RefreshContext(string myConnectionString)
{
DisposeContext();
Context = new MyContext(myConnectionString);
}
public void DisposeContext()
{
if (Context == null)
return;
Context.Dispose();
}
关于c# - 刷新 EntityFramework 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457888/