1

ORM Fluent NHibernateとして使用するSQL 監査モジュールの実装について、いくつか誤解があります。だからここに状況があります:

MVC3 フレームワーク上に構築されたクライアント サーバー アプリケーションについて話しています。グリッドをレンダリングするメソッドがあるとします:

[HttpGet]
public ActionResult ShowGrid()
{
   var gridModel = _gridService.GetAllRecords();
   return View(gridModel);
}

誰かが DB の挿入/更新/削除コマンドを実行すると、そのグリッドを表示するすべてのクライアントが、内部にいくつかの変更があることを確認したいと考えています。

私には3つのアイデアがあります:

1) X秒ごとにデータベースを呼び出して更新を行うスクリプトを作成します。まだ変更がない場合でも、完全な選択を行います。最悪の決断

2) カスタム監査テーブルを更新するある種のトリガーを作成し、いくつかのオブジェクト状態/LastUpdate フィールドを比較して、新しいデータがあるかどうかを確認します。より良い

3)他のツールを使用するには(どのツールかわかりません)、いくつかの解決策を提供します。

誰かが情報を持っている場合は、解決策が既に存在する可能性があります。共有してください。どうもありがとうございました!

4

1 に答える 1

2

NHibernate を使用する最も簡単な方法:

NHibernate インターセプター

より複雑なものを実装する必要がある場合は、イベント リスナーと組み合わせることができます。

ここ

または使用:

NHibernate.Envers

于 2013-09-20T14:49:00.807 に答える