【问题标题】:UTC timestamps for NHibernate Envers revision infoNHibernate Envers 修订信息的 UTC 时间戳
【发布时间】:2013-06-17 00:33:57
【问题描述】:

我正在使用 NHibernate Envers 1.6.0,并且需要为 REVINFO 中的 REVTSTMP 列使用 UTC 时间戳而不是本地时间戳。

我知道该错误已被报告 (NHE-122) 并已在未来的 2.0 版中修复

有什么方法可以将 DefaultRevisionInfoGenerator 更改为我自己的自定义 IRevisionInfoGenerator?

【问题讨论】:

    标签: c# nhibernate audit-logging nhibernate-envers


    【解决方案1】:

    一个简单的解决方法是使用您自己的 IRevisionListener。在那里,您将时间戳值设置为 DateTime.UtcNow 或其他任何值。

    假设您正在使用 FluentConfiguration...

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

    编辑 忘了说... 如果您使用自己的自定义 RevisionEntity(即使它是“DefaultRevisionEntity”,您也需要在上面执行此操作),您需要映射此实体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      相关资源
      最近更新 更多