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

evo*_*lon 7 c# entity-framework connection-string app-config entity-framework-6

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

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

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

Adr*_*tti 8

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

本文中:DbContext构造函数中给出的连接字符串未缓存,那么您可以使用它作为变通方法:

public class MyContext : DbContext {
    public MyContext()
        : base(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)