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
使用法は Unit-Of-Work パターンでラップされているため、Dispose
毎回 d です。