Временные метки UTC для информации о версии NHibernate Envers

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

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

Можно ли каким-либо образом изменить DefaultRevisionInfoGenerator на свой собственный IRevisionInfoGenerator?


person Mike737    schedule 20.06.2013    source источник


Ответы (1)


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

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

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

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

person Roger    schedule 20.06.2013