2013-06-20 2 views
2

Я использую NHibernate Envers 1.6.0 и для использования столбца REVTSTMP в REVINFO необходимо использовать временные метки UTC вместо локального.UTC timestamps для NHibernate Информация об изменениях версии

Я знаю, что ошибка сообщается (NHE-122) и фиксируется для будущей версии 2.0

Есть ли способ, что я могу изменить DefaultRevisionInfoGenerator к моему собственному обычаю IRevisionInfoGenerator?

ответ

5

Простым обходным путем является использование собственного IRevisionListener. Там вы установите значение timestamp для DateTime.UtcNow или что-то еще.

Предполагая, что вы используете FluentConfiguration ...

var enversCfg = new FluentConfiguration(); 
enversCfg.SetRevisionEntity<DefaultRevisionEntity>(r => r.Id, r=> r.RevisionDate, yourRevisionListener>(); 

EDIT забыл упомянуть ... Если вы используете свой собственный RevisionEntity (который вы делаете выше, даже если это «DefaultRevisionEntity»), вам необходимо отобразить этот объект.