0

SaveChangesアプリケーションで監査ログを実行する必要があり、データベースへの変更をログに記録したいと考えています。ロギングを行いたくない場合があります。SaveChanges監査ログを実行しないように指示する最もエレガントな方法は何ですか? Entity Framework 4 を使用しています。

4

2 に答える 2

0

ロギングについても同様の要件を実装しました。私はテーブルの情報をデータベースのtablemasterと呼ばれるメタテーブルに保存し、そこへのログインに関連する多くの情報を保存します。フィールドの1つは、そのテーブルのエントリをログに記録するかどうかを示します。変更の保存がコンテキストで呼び出されたとき、つまりこれらのテーブルのログを記録するかどうかを決定するときに、監査証跡をログに記録します。メタテーブルテーブルマスターはアプリの起動時にメモリにフェッチされるため、詳細を確認するためのラウンドトリップはありません。お役に立てれば。

于 2012-07-15T16:48:58.560 に答える
0

ログを必要とする要素を装飾するカスタム属性を作成します。これは log メソッドによって読み取られます。この属性をクラスとプロパティに適用して、ログに記録する対象を正確に選択できるようにすることができます。

何かをログに記録する必要があるかどうかを毎回チェックすることを避けるために、キャッシュを使用することをお勧めします。

于 2011-06-09T19:44:32.850 に答える