내 도메인 모델의 변경 내용을 추적하고 싶습니다. 나는 NHibernate의 Session이 UnitOfWork 패턴의 구현이 아니라는 것을 안다. 그래서이 변화를 추적한다. 예를 들어, Commit() 또는 Flush() 전에 그들을 끌어낼 방법이 있습니까?NHibernate 세션에서 엔터티의 변경된 필드 목록 가져 오기
2
A
답변
1
NHibernate의 IInterceptor를 살펴보십시오.
OnFlushDirty - 업데이트 된 개체에 대한 영구 속성을 표시합니다.
OnSave - 저장 한 개체에 대한 영구 속성을 표시합니다.
이 인터페이스를 구현하는 인터셉터 클래스를 생성하면 NHibernate 세션을 구성 할 때 해당 클래스를 사용하도록 알릴 수 있습니다.
1
나는 인터셉터 조금 오래된보다 생각합니다. NHibernate 이벤트를 사용하려고합니다. OnPreUpdate 이벤트를 구독했습니다. 매개 변수에는 State 및 OldState 속성이 있지만 OldState는 항상 null입니다. 누구든지이 OldState가 전혀 작동한다는 것을 알고 있습니까?
관련 문제
- 1. NHibernate 세션에서 변경된 엔티티 얻기
- 2. PERFORCE의 커밋에서 변경된 파일 목록 가져 오기
- 3. ChangeSet의 ChangeSetEntry에서 변경된 필드 목록?
- 4. DBExpress TSQLQuery에서 필드 목록 가져 오기
- 5. 세션에서 변경된 데이터 손실
- 6. NHibernate : 두 개의 세션에서 엔티티의 다른 필드 수정하기
- 7. NHibernate 식별자가 변경된 예외
- 8. Silverlight에서 세션에서 직렬화 가능 객체 가져 오기
- 9. 스키마에서 목록 가져 오기
- 10. haskell에서 가져 오기 목록
- 11. 파일 목록 가져 오기
- 12. 뮤텍스 목록 가져 오기?
- 13. NHibernate 프록시없이 객체 가져 오기
- 14. PHP를 사용하여 PDF 내 텍스트 필드 목록 가져 오기
- 15. 모든 PHP 세션 목록 가져 오기
- 16. CSV 가져 오기 (가변 필드)
- 17. 다른 테이블의 필드 가져 오기
- 18. Python에서 필드 이름 가져 오기
- 19. NHibernate 세션에서 객체 연결 해제
- 20. NHibernate에서 명명 된 쿼리 목록 가져 오기
- 21. ASP.NET에서 프로세스 목록 가져 오기
- 22. ArrayList에서 요소 목록 가져 오기
- 23. 클래스의 메소드 목록 가져 오기
- 24. 구성표 - 목록에서 가져 오기 목록
- 25. MSN 연락처 목록 가져 오기
- 26. 글꼴 목록 가져 오기 (Win32)
- 27. Facebook의 친구 목록 가져 오기
- 28. Silverlight에서 사용자 목록 가져 오기?
- 29. GTK 목록 : 가져 오기 텍스트
- 30. URL에서 디렉토리 목록 가져 오기
'session.Merge (yourUnsavedObject) '를 호출하면 NHibernate는 먼저 엔티티를로드 한 다음 저장되지 않은 객체의 변경 사항을 적용합니다. 그러면 해당 프로세스가 OldValues를 채 웁니다. 이것은 버전 3.1을 사용하고 있습니다. 이전 버전에서는 SaveOrUpdateCopy()를 사용했다고 생각합니다. –