1

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 です。

4

1 に答える 1