2010-10-11 18 views
0

我一直在使用IPreUpdateEventListener審計實體,特別是使用FindDirty方法來找到改變的屬性:你如何審覈NHibernate中更改的集合?

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

這工作正常進行簡單的特性。但是,我的實體擁有其他實體的集合屬性。其中一個實體發生了變化,並且變化持續存在,但FindDirty不會給我該集合屬性的索引。有沒有辦法獲得變更的財產,以審計這一變化?

回答

-1

我決定在我的域對象上有一個方法接收OldState集合,並在其上應用自己的處理,檢查每個對象以查看它是否已更改。

+0

爲什麼downvote? – Tevin 2014-04-09 10:41:36