У меня проблема с DefaultUpdateEventListener в NHibernate.
Я обновлю 2 объекта, а затем зафиксирую сессию.
Первый объект не попал в слушателя, а второй объект пришел туда.
Так что я проверил с отражателем, чтобы проверить, в чем проблема
Сначала NHibernate вызовет PerformSaveOrUpdate в DefeultSaveOrUpdateEventListener, там я вижу это
protected virtual object PerformSaveOrUpdate(SaveOrUpdateEvent @event)
{
switch (this.GetEntityState(@event.Entity, @event.EntityName, @event.Entry, @event.Session))
{
case EntityState.Persistent:
return this.EntityIsPersistent(@event);
case EntityState.Detached:
this.EntityIsDetached(@event);
return null;
}
return this.EntityIsTransient(@event);
}
Разницами обоих объектов является состояние
Первый объект отделен, а второй постоянный
Что делает объект постоянным или отключенным в NHibernate?
Если я знаю разницу в этом примере, надеюсь, я смогу исправить это в своем коде.
Нагрузка на оба объекта равна сессией. Загрузка