DatabaseFactory.CreateDatabase() of DAAB
C#のコンソールがchange..CreateDatabaseを()保持しませんDatabaseFactoryで使用されるデフォルトのデータベースのためのapp.config値を上書きしようとし
が使用するapp.configをでDefaultDatabase値をオーバーライドする必要が
私は以下のコードを持っており、変更が成功したことを示していますが、コードの後半でデフォルトのデータベースを参照すると、以下のコードで変更が保存されなくなります。 これは、デバッグモードであっても、コンパイルされたexeであっても発生します。
Database db = DatabaseFactory.CreateDatabase();
App.configファイルを変更するコード
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var dbSettings = (DatabaseSettings)ConfigurationManager.GetSection("dataConfiguration");
string connectionString = ConfigurationManager.ConnectionStrings[dbSettings.DefaultDatabase].ConnectionString;
connectionString = connectionString.Replace("DATABASETOREPLACE", dstuff.Database).Replace("SERVERTOREPLACE", dstuff.Server);
config.ConnectionStrings.ConnectionStrings[dbSettings.DefaultDatabase].ConnectionString = connectionString;
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");
App.configファイルは、ConfigurationManager.RefreshSection("configuration");
代わりにを試し
Visual Studioからアプリケーションを実行していますか? –
いいえ、それはコンパイルされ、スタンドアロンexeとして実行されます – user825374