Я использую NHibernate (v 2.1.0.4000) и пытаюсь использовать событие Listener для действия обновления.Слушатели Nhibernate работают неправильно
Я использовал следующий код, чтобы добавить слушателя в конфигурацию Nhibernate.
var configuration = new Configuration();
configuration.SetListener(ListenerType.Update, new UpdateListener());
_sessionFactory = configuration.BuildSessionFactory();
Когда я обновляя два элемента, первый элемент не получает функцию «PerformUpdate» слушателя. Однако при обновлении второго элемента функция вызывается.
Как это может произойти?
--- Отредактированный ---
При отладке я узнал, что на "OnSaveOrUpdate" слушателем, следующий код выполняется:
object obj4 = session.PersistenceContext.UnproxyAndReassociate(@event.Entity);
@event.Entity = obj4;
@event.Entry = session.PersistenceContext.GetEntry(obj4);
Я ожидал, что @event. Запись была нулевой, но она не была нулевой и имела статус Loaded. Что должно произойти при вызове метода GetEntry?
Единственная функция, я имею в приемнике заключается в следующем: защищен переопределения недействительным PerformUpdate (SaveOrUpdateEvent @event, объект сущности, IEntityPersister стойкая бактерия) { Это Funtion это не называется. Я уверен, что оба объекта изменены. – Jan
Я узнал, что когда я получаю объект, делаю изменения и обновляю объект, функция executeUpdate в слушателе никогда не вызывается. – Jan