c# - 实体框架ConnectionString在运行时更改App.Config后不会更新

时间:2015-06-12 14:07:07

标签: c# entity-framework entity-framework-6 connection-string app-config

我正在开发一个依赖于Entity Framework进行数据访问的WPF应用程序。 在第一次安装时,我需要根据用户输入创建一个新的连接字符串,然后根据它更新App.Config。

问题是:更新App.Config文件后,Entity Framework没有检测到更改,并使用旧的启动时ConnectionString来实例化DbContext。

如何在运行时更新Entity Framework的ConnectionString设置?

3 个答案:

答案 0 :(得分:8)

实体框架缓存连接字符串,没有强制刷新的方法。

来自this articleDbContext构造函数中给出的连接字符串未缓存,那么您可以将其用作解决方法:

public class MyContext : DbContext {
    public MyContext()
        : base(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString)
    {
    }
}

答案 1 :(得分:0)

我有同样的错误。我的新连接字符串缺少“初始目录=“

答案 2 :(得分:-1)

今天有同样的问题。连接字符串存储在obj文件夹中的已缓存App.Config文件中。

解决方案:删除obj文件夹。