我正在开发一个依赖于Entity Framework进行数据访问的WPF应用程序。 在第一次安装时,我需要根据用户输入创建一个新的连接字符串,然后根据它更新App.Config。
问题是:更新App.Config文件后,Entity Framework没有检测到更改,并使用旧的启动时ConnectionString来实例化DbContext。
如何在运行时更新Entity Framework的ConnectionString设置?
答案 0 :(得分:8)
实体框架缓存连接字符串,没有强制刷新的方法。
来自this article:DbContext
构造函数中给出的连接字符串未缓存,那么您可以将其用作解决方法:
public class MyContext : DbContext {
public MyContext()
: base(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString)
{
}
}
答案 1 :(得分:0)
我有同样的错误。我的新连接字符串缺少“初始目录=“
答案 2 :(得分:-1)
今天有同样的问题。连接字符串存储在obj文件夹中的已缓存App.Config文件中。
解决方案:删除obj文件夹。