我正在使用NHibernate Envers 1.6.0并且需要使用UTC时间戳而不是本地REVINFO中的REVTSTMP列。
我知道已报告错误(NHE-122)并已修复以用于将来的版本2.0
有什么办法可以将DefaultRevisionInfoGenerator更改为我自己的自定义IRevisionInfoGenerator吗?
答案 0 :(得分:5)
一个简单的解决方法是使用您自己的IRevisionListener。在那里你将timestamp值设置为DateTime.UtcNow或其他。
假设你正在使用FluentConfiguration ......
var enversCfg = new FluentConfiguration();
enversCfg.SetRevisionEntity<DefaultRevisionEntity>(r => r.Id, r=> r.RevisionDate, yourRevisionListener>();
修改强> 忘了提...... 如果您正在使用自己的自定义RevisionEntity(即使它是“DefaultRevisionEntity”),您也需要映射此实体。