使用NHibernate,处理InsertDate(a.k.a CreateDate)和UpdateDate列的最佳方法是什么?
例如:
public class Customer
{
public virtual string Name { get; set; }
public virtual DateTime InsertDate { get; set; }
public virtual DateTime UpdateDate { get; set; }
}
可能有多种方法可以处理,但是之前做过此操作的人可能会给我一些建议。
如果不明显,我希望将InsertDate设置为插入记录的日期,然后将其设置为不可变。每次更新记录时都需要更改UpdateDate。
如果您使用Fluent Nhibernate回答,则会获得奖励。
答案 0 :(得分:2)
为此使用审计拦截器。可以找到一个很好的例子here。
答案 1 :(得分:2)
我使用了与Ayende Rahien类似的东西。
不是那么重要 - 只是为了完成 - 我的版本使用了拦截器,而不是听众。有关拦截器和听众的更多信息,请阅读this stackoverflow question。