nhibernate - 设置上次修改时间和使用 NHibernate 修改的人员的最佳做法是什么?

标签 nhibernate change-tracking

在我的应用程序中,我们需要捕获记录的创建和修改时间以及用户执行这些操作的情况。所以我可能有一个类似的对象:

public class Product
{ 
  int Id;
  int Name;
  DateTime CreatedOn;
  int CreatedByUserId;
  DateTime LastModifiedOn;
  int LastModifiedByUserId;
}

在 NHibernate 中处理这些的最佳实践是什么?通过使用拦截器类似于所描述的内容 here ?

最佳答案

我认为没有“最佳”实践,但事件监听器的使用对此更为常见。在 http://ayende.com/Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-ipreinserteventlistener.aspx 有一个很好的例子

您需要考虑的一件事是您需要将该 userId 存储在某处。我目前正在通过在启动时在监听器上分配静态属性来做到这一点。它不漂亮,但它完成了工作。

关于nhibernate - 设置上次修改时间和使用 NHibernate 修改的人员的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2387249/

相关文章:

c# - 拦截 NHibernate Lazy-Load 行为以在未连接到 session 时返回 null?

c# - WCF 和 nHibernate 的并发问题

c# - 是否可以重构此 nHibernate Linq 查询?

sql-server - 在更改跟踪中禁用列更新

c# - 调用 ToList() 后的 Entity Framework 更改跟踪

c# - NHibernate QueryOver 用投影填充父对象中的属性对象

nhibernate - 如何使用 Fluent NHibernate 映射实体 -> 接口(interface)关系?

sql-server - 如何在 Visual Studio 数据库项目 (SSDT) 上设置更改跟踪

sql-server - 对数据库中的所有表启用更改跟踪

javascript - 使用 jscript 跟踪对网页字段所做的更改?