2010-01-29 1 views
2

NHibernate의 DefaultUpdateEventListener에 문제가 있습니다. 2 개체를 업데이트 한 다음 세션을 커밋합니다.NHibernate DefaultUpdateEventListener 및 이벤트 문제

첫 번째 개체가 수신기에 들어오지 않고 두 번째 개체가 들어옵니다.

그래서 나는 문제가

먼저 NHibernate에 내가 두 개체의이

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); 
} 

differens이 상태 ​​ 첫 번째입니다 참조 거기 DefeultSaveOrUpdateEventListener에 PerformSaveOrUpdate를 호출 무엇인지 확인하기 위해 반사경 확인 개체가 분리되고 두 번째 영구적 인 것

NHibernate에서 개체를 영구적으로 또는 분리되게하려면 어떻게해야합니까?

내가이 코드에서 차이점을 알고 있다면이 코드에서 해결할 수 있기를 바랍니다.

두 개체의 부하 (나는이 이벤트는 PerformSaveOrUpdate 전에 타격을받을 것입니다


공공 재정의 무효 OnSaveOrUpdate을 (SaveOrUpdateEvent @event)를 구현하는 문제를 해결 만일 Session.load

답변

1

와 동일 SaveOrUpdateEvent @event)

이 시점에서 개체가 지속성 또는 분리 상태인지 여부는 중요하지 않습니다.