我正在寻找一种在运行时配置数据库连接的方法;特别是使用企业库。我看到有一个* .Data.Configuration(或者接近这个的东西......不要回想起我的头脑)汇编,但我发现互联网上并没有太多。让问题复杂化的是,在Vista上打破了API帮助。
现在,我找到了解决方法:
Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringSettings connection = new ConnectionStringSettings();
connection.Name = "Runtime Connection";
connection.ProviderName = "System.Data.OleDb";
connection.ConnectionString = "myconstring";
cfg.ConnectionStrings.ConnectionStrings.Add(connection);
cfg.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");
var runtimeCon = DatabaseFactory.CreateDatabase("Runtime Connection");
虽然它给了我想要的东西,但它永久地编辑了App.config。当然我可以回去删除更改,但我宁愿不经历这个麻烦。
答案 0 :(得分:1)
如果您使用的是winforms应用,可以尝试使用UserProperties存储此信息。另一种可能的解决方案可能是custom configuration sections。
答案 1 :(得分:0)
如果您不想保存它,则无需执行cfg.Save命令。
Configuration对象将存储您的更改,直到不再需要它为止。
答案 2 :(得分:0)
不,你必须保存,以便EntLib(以及我怀疑,任何其他工具)看到更改。