以编程方式更改数据配置defaultDatabase

本文关键字:配置 defaultDatabase 数据 编程 方式更 | 更新日期: 2023-09-27 18:06:36

我有以下代码,我想在代码后面更改默认数据库。

web . config

<dataConfiguration defaultDatabase="olddatabasename"/>

后面的代码
DatabaseSettings dbSettings = (DatabaseSettings)ConfigurationManager.GetSection("dataConfiguration");
dbSettings.DefaultDatabase = "newdatabasename";

但是它给出了以下错误:

配置为只读

我如何在后面的代码中改变这个?

以编程方式更改数据配置defaultDatabase

使用@Audor从评论的链接,我能够解决这个问题:

var settings = ConfigurationManager.GetSection("dataConfiguration");
var fi = typeof(ConfigurationElement).GetField("_bReadOnly", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
fi.SetValue(settings, false);
DatabaseSettings dbSettings = (DatabaseSettings)ConfigurationManager.GetSection("dataConfiguration");
dbSettings.DefaultDatabase = databseName;