c# - 刷新 EntityFramework 连接

标签 c# .net entity-framework

我正在 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/

相关文章:

c# - 使用 CheckedListBox 设置 DataGridView 列的可见性

c# - 多次使用 block ,这段代码安全吗?

c# - 添加Cascade Delete后无法生成SSDL

c# - EF4 自引用关联 0..1 -> 1

c# - C 和 C# 的 ANSI 字符处理

c# - 删除列表的重复项,按 C# 中的属性值选择?

c# - C# 中的安全句柄

.net - 在 .NET 中创建 SCADA 图

entity-framework - EF Code First 的预生成 View

c# - 两个键元组的列表或字典