我已经在我的 NHibernate 配置中为我的大多数实体映射了 ModifiedDate。每个实体都继承了这个:
public interface IAuditable {
string ModifiedBy { get; set; }
DateTime ModifiedDate { get; set; }
}
每个类都将这些字段映射到数据库,因为我们希望将这些值读入每个实体。我使用流利的配置和地图类。
我已经实现IPreInsert
了IPreUpdate
事件监听器来更新修改日期和修改日期。这样,框架将更新审计值。我在这里使用了代码:http: //ayende.com/blog/3987/nhibernate-ipreupdateeventlistener-ipreinserteventlistener
我如何确保无论 ModifiedBy 和 ModifedDate 中的值是什么,它们都不会被认为是脏的,并且它们本身不会使实体变脏?只有当其他字段发生变化时,实体才必须是脏的。