-1

問題があり、解決策が見つかりません。
開始時にそのApp.configファイルがあります:

...
<connectionStrings>
    <add name="IdealsadEntities" connectionString="" providerName="System.Data.EntityClient" />
</connectionStrings>
...

私のアプリケーション(WinForm )では、 xmlファイルからデータベースに接続するためのパラメータを読み取り、App.configをオーバーライドしてコンパイルされたファイルを取得しましたAppName.exe.config

問題は、私のエンティティのインスタンスを作成することです。ファイルを作成した後にこのコードを使用しました:

IdealsadEntities _db = new IdealsadEntities();

しかし、最初の実行ではアプリケーション_db.Database.Connectionnullです。AppName.exe.config2回目の実行では、ファイルから読み取り、正常に動作します。

質問:

  • だから私の質問は、このファイルを書き換えたとしても、最初に空の文字列を読むのはなぜですか?
  • DbContext は先に実行されますか?
  • 書き換えられたファイルから新しい接続文字列を取得するにはどうすればよいですか?
4

1 に答える 1

2

app.config は、アプリケーションの起動時にのみ読み取られます。アプリケーションの実行中に書き込んだ変更は、プログラムを再起動するまで認識されません。

ただし、次のように、接続文字列を使用してエンティティを構築できます。

IdealsadEntities _db = new IdealsadEntities("metadata=res://...");

接続文字列の適切な情報を、他のファイルから読み取ったデータに置き換えます。

于 2012-10-17T07:57:21.207 に答える