1

web.configで宣言された明示的な接続文字列を使用して、EFコードファーストを使用してDB接続を管理しています。DB クリーニング プロセス (テスト トランザクションを毎日削除するなど) をスケジュールしたいので、インスタンス間の適切な同時実行管理を使用して Role.OnStart() からスレッドを生成しています。

しかし、DB がモデルと一致しないなどの DB データベース例外が発生しますが、それは確実です (アプリの「内部」から使用される同じコードがうまく機能します)。私の推測では、web.config はスレッドから使​​用されていないため、EF はおそらくデフォルトの接続文字列を使用しています。

そこから接続文字列を使用する最良の方法は何ですか?

ありがとう

4

1 に答える 1

4

OnStart メソッドは Web アプリケーションと同じプロセスで実行されないため、web.config を使用しません。接続文字列をサービス構成に保存し、コンテキストを初期化するときにここから読み取ることをお勧めします。

もう 1 つの利点は、アプリケーションを再デプロイせずに設定を変更できることです。

于 2012-04-14T11:50:21.333 に答える