Как вы проводите аудит измененных коллекций в NHibernate? - PullRequest
0 голосов
/ 11 октября 2010

Я использовал IPreUpdateEventListener для аудита сущностей, в частности, с помощью метода FindDirty для поиска измененных свойств:

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 Ответ

0 голосов
/ 13 октября 2010

Я решил создать метод для моих доменных объектов, который получает коллекцию OldState и применяет к ней свою собственную обработку, проверяя каждый объект, чтобы убедиться, что он изменился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...