更改后续订实体框架ObjectContext连接
本文关键字:框架 ObjectContext 连接 实体 | 更新日期: 2023-09-27 18:26:39
正在进行基于EF4的项目。在我的应用程序中,我更改了ObjectContext使用的命名连接字符串,并将其保存回app.config。但ObjectContext保存了它的连接,不介意更改。试图用手动创建的连接重新连接,但不起作用。我有ConnectionManager,这里是Save
方法:
/// <summary>
/// Save configuration changes
/// </summary>
public void Save()
{
// Apply connection string
config.ConnectionStrings.ConnectionStrings[connectionStringName].ConnectionString = entityConnectionStringBuilder.ConnectionString;
// Save config
config.Save();
// Apply changes to context
EntityConnection newConnection = new EntityConnection(entityConnectionStringBuilder.ConnectionString);
Entities context = new Entities(newConnection);
// Entities context = new Entities(config.ConnectionStrings.ConnectionStrings[connectionStringName].ConnectionString);
context.Dispose();
}
那么,在不重新启动程序的情况下持久地将新连接应用于ObjectContext,或者我应该重新加载App.Config,有什么魔力吗?
注意:所有ObjectContext
用法都封装在工作单元模式中,因此每次都是Dispose
d。
在运行时更改app.config时需要小心。
如果您在VS中进行测试,请检查实际更改了哪个文件。app.config在调试开始时被复制。
此外,app.config被缓存。所以除非你
ConfigurationManager.RefreshSection("xxx");// config manager needs a kick...
你不会有太多运气。。。
建议在应用程序上搜索。如果仍然存在问题,则进行配置更改。
但我不确定是否可以让EF读取运行时添加的命名连接字符串。如果没有,那么动态连接字符串也可能是您需要查看的内容。EntityFramework代码第一个自定义连接字符串和迁移