【问题标题】:NHibernate Event Listener AuditNHibernate 事件监听器审计
【发布时间】:2013-07-23 09:39:54
【问题描述】:

我正在做一个需要审计跟踪的小项目。

我已经连接到 IPostUpdateEventListener 并且有一个用于简单对象的基本审计跟踪。

public class Foo 
{
      public virtual int Id { get; set; }
      public virtual string PropName { get; set; }
      public virtual ISet<Boo> Boos { get; set; }
}

public class Boo
{
      public virtual int Id { get; set; }
      public virtual string PropName { get; set; }
      public virtual Foo Foo { get; set; }
}

当我想在相关的 Foo 对象中更改 Boo 加载的外键并执行 SaveOrUpdate - 这适用于审计跟踪。

当我得到事件侦听器时,我会检查脏值,唯一的脏属性将是 Foo 对象,但问题是 Foo 中的 ISet Boos 没有启动。所以会抛出访问延迟加载的属性的错误。

如果我更改实体以外的其他属性,它可以正常工作,但对于另一个对象的属性,我似乎无法这样做。

有没有更好的方法来更新 Boo 的父级?

因为我想在我的审计跟踪中显示更改后的 Foo ID,以显示外键已更改。

干杯

【问题讨论】:

    标签: asp.net-mvc nhibernate event-listener


    【解决方案1】:

    您可以使用Envers!我们成功地使用了它。

    【讨论】:

      猜你喜欢
      • 2011-04-25
      • 2011-07-05
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 2010-12-11
      • 2011-04-25
      • 1970-01-01
      相关资源
      最近更新 更多