1

我对使用 ORM Fluent NHibernate的SQL 审计模块的实现有一些误解。所以情况如下:

我们谈论的是基于 MVC3 框架构建的客户端-服务器应用程序。假设我们有一个渲染网格的方法:

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

现在,当有人执行 DB Inser/Update/Delete 命令时,我希望每个查看该网格的客户端都能看到内部有一些变化。

我有3个想法:

1)编写一个脚本,通过调用数据库进行刷新,每X秒。即使还没有更改,也要进行完整的选择。最糟糕的决定

2)创建某种触发器,更新自定义审计表,然后通过比较一些对象状态/上次更新字段来检查是否有一些新数据。更好的

3)使用其他一些工具(不知道什么工具),这将提供一些解决方案。

如果有人有一些信息,也许已经存在解决方案,请分享。非常感谢!

4

1 回答 1

2

使用 NHibernate,最简单的方法:

NHibernate 拦截器

如果您需要实现更复杂的东西,您可以将它与事件侦听器混合使用:

这里

或使用:

NHibernate.Envers

于 2013-09-20T14:49:00.807 回答