2

実行時にDB接続を構成する方法を探しています。特にエンタープライズライブラリを使用します。* .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を永久に編集します。確かに戻って変更を削除することはできますが、この面倒なことはしたくありません。

4

3 に答える 3

1

WinFormsアプリを使用している場合は、UserPropertiesを使用してこの情報を保存してみてください。別の可能な解決策は、カスタム構成セクションである可能性があります。

于 2008-08-19T04:35:14.750 に答える
0

保存したくない場合は、cfg.Saveコマンドを実行する必要はありません。

Configurationオブジェクトは、必要がなくなるまで変更を保存します。

于 2008-08-19T04:41:27.997 に答える
0

いいえ、EntLib (および、おそらく他のツール) が変更を確認できるようにするには、保存する必要があります。

于 2008-08-19T15:13:48.313 に答える