2010-04-29 9 views
0

감사 로깅을 위해 NHibernate 2.0.1과 IPreUpdateEventListener, IPreInsertEventListener 이벤트를 사용하고 있습니다.NHibernate IPreUpdateEventListener 이상한 행동

나는 이와 같이 일대 다 관계가있는 기본 엔티티가 있습니다. 하는 ASP.NET MVC 컨트롤러 방법에서

사용자 -------> 책

내가 이런 사용자에게 책을 추가하고있다. 모든 책이라고 OnPreUpdate 사용자의 책 컬렉션 개체에 비해 새로 만든 책 개체에 대해 한 번만 호출 OnPreInsert 이벤트를 플러싱 세션 후

Book book =new Book("LOTR"); 
var userBook=user.AddBook(book); 

심지어는 changed.So 나는 모든 책의 LastMofiedDate 속성이 객체를 업데이트하고하지 않은 나는 이것을 원하지 않는다. 이것은 NHibernate의 가정 된 행동인가요? 아니면 뭔가 빠져 있습니까?

+0

에서 찾을 수 있습니다. 혹시 모든 책을 더럽게 만드는 고스트 매핑이 있습니까? 일반적으로'DateTime' 속성은 null 가능'DateTime? '이어야합니다. – dotjoe

+0

나는 당신의 제안을 시도 할 것이다. 나는 월요일을 기다리고있다, 나의 휴대용 퍼스널 컴퓨터는 부서졌다 : ( – mcaaltuntas

답변

0

마지막으로 문제를 해결했습니다. 문제는 매핑 파일에서 DataType Int32로 매핑 된 My Book 객체의 Enum 필드에 관한 것입니다. 따라서 NHibernate는 초기화 후에 모든 Book 객체를 더럽다고 표시합니다. 더 많은 정보는 this answer