2009-06-25 4 views

답변

1

NHibernate의 IInterceptor를 살펴보십시오.

OnFlushDirty - 업데이트 된 개체에 대한 영구 속성을 표시합니다.

OnSave - 저장 한 개체에 대한 영구 속성을 표시합니다.

이 인터페이스를 구현하는 인터셉터 클래스를 생성하면 NHibernate 세션을 구성 할 때 해당 클래스를 사용하도록 알릴 수 있습니다.

Here is a fairly good article to help you get started

1

나는 인터셉터 조금 오래된보다 생각합니다. NHibernate 이벤트를 사용하려고합니다. OnPreUpdate 이벤트를 구독했습니다. 매개 변수에는 State 및 OldState 속성이 있지만 OldState는 항상 null입니다. 누구든지이 OldState가 전혀 작동한다는 것을 알고 있습니까?

+1

'session.Merge (yourUnsavedObject) '를 호출하면 NHibernate는 먼저 엔티티를로드 한 다음 저장되지 않은 객체의 변경 사항을 적용합니다. 그러면 해당 프로세스가 OldValues를 채 웁니다. 이것은 버전 3.1을 사용하고 있습니다. 이전 버전에서는 SaveOrUpdateCopy()를 사용했다고 생각합니다. –

관련 문제