2

データベースをチェックする必要があるバリデータがあります。たとえば、同じメールアドレスを持つユーザーかどうかを確認する必要があります。

私の質問は、アクティブな DB コンテキストをバリデーターに渡して、新しいものを作成する手間を省くにはどうすればよいですか?

それとも私は要点を逃していますか?

余分なオープン DB コンテキストは重要ではありませんか?

4

1 に答える 1

2

これはとても良い質問です!私自身、ずっと疑問に思っていたことの一つ。私はこの答えがとても良いと感じました:

Web リクエストごとに 1 つの DbContext...なぜですか?

余分なオープン DB コンテキストは重要ではありませんか?

MVC アプリケーション用に自動生成されたコントローラー コードを見ると、各コントローラーが常に別の DBContext オブジェクトをインスタンス化していることがわかります。私は個人的にこれを理解しており、原則として複数のアクティブなコンテキストを持つことは問題ではありません。個人的には、コードをメソッドに送信してコードを複雑にするよりも、別の DBContext インスタンスを作成し、変更を保存するタイミングと、savechange アクションによって何が影響を受けるかを追跡する必要があります (リンクで説明されています)。一方、ループの反復ごとに新しい DBContext をインスタンス化することはしません。また、オーバーヘッドがかなり小さい場合は、それ以外の場合もインスタンス化しません。

お役に立てれば。

于 2013-08-29T14:10:32.073 に答える