@event.LoadedState
содержит предыдущие значения в массиве, @event.PropertyValues
содержит текущие значения.Соответствующий persister.PropertyNames
содержит имена свойств в том же порядке и persister.PropertyTypes
типы NH.
Пример:
for (int i = 0; i < @event.PropertyValues.Length; i++)
{
Console.WriteLine("Property {0} : {1} => {2}",
@event.EntityEntry.Persister.PropertyNames[i],
@event.LoadedState[i],
@event.PropertyValues[i]);
}
Я не уверен, является ли "LoadedState" на самом делесостояние, которое было загружено.Это может быть состояние в БД, которое может меняться с каждым сбросом.Проверь это.Может возникнуть необходимость взять «первое загруженное состояние», которое вы получаете из события.
Примечание: я написал «автоматическую запись журнала аудита».Со сложными сущностями это становится очень сложным.Наиболее сложным является вложение объектов (родитель - потомок).Событие в глубине NH.Вы должны обращаться с компонентами и коллекциями.