您如何审核NHibernate中更改的集合?

您如何审核NHibernate中更改的集合?,nhibernate,Nhibernate,我一直在使用IPreUpdateEventListener审核实体,特别是使用FindParty方法查找更改的属性: public bool OnPreUpdate(PreUpdateEvent updateEvent) { int[] dirtyFieldIndices = updateEvent.Persister.FindDirty(updateEvent.State, updateEvent.OldState, updateEvent.Entity, updateEvent.S

我一直在使用IPreUpdateEventListener审核实体,特别是使用FindParty方法查找更改的属性:

public bool OnPreUpdate(PreUpdateEvent updateEvent)
{ 
    int[] dirtyFieldIndices = updateEvent.Persister.FindDirty(updateEvent.State, updateEvent.OldState, updateEvent.Entity, updateEvent.Session);
    // Get changed property names and audit...
}

这适用于简单属性。但是,我的实体具有其他实体的集合属性。其中一个实体已更改,并且更改得到了持久化,但FindProperty没有给我该集合属性的索引。有没有办法获得已更改的属性以审核此更改?

我决定在我的域对象上有一个方法,该方法接收OldState集合,并对其应用自己的处理,检查每个对象是否已更改