C#控制台尝试覆盖DatabaseFactory使用的默认数据库的app.config值;Don’不要找零.Create

本文关键字:Don Create config 数据库 覆盖 控制台 DatabaseFactory 默认 app | 更新日期: 2023-09-27 18:29:20

我需要覆盖DatabaseFactory.CreateDatabase() of DAAB 使用的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值



C#控制台尝试覆盖DatabaseFactory使用的默认数据库的app.config值;Don’不要找零.Create

尝试ConfigurationManager.RefreshSection("configuration");而不是ConfigurationManager.RefreshSection("connectionStrings");