2011-09-12 2 views
3

datetime 속성이 null이 아니며 데이터베이스에 오늘 날짜를 삽입하게하는 특정 속성을 매핑하기위한 Fluent 규칙을 만들었습니다. 코드 :NHibernate - 값을 업데이트하지 못하도록 삽입하여 생성합니다.

instance.Not.Nullable(); 
instance.Default("getdate()"); 
instance.Generated.Insert(); 

삽입물이 예상대로 작동합니다. 기대하지 않는 것은 내가 레코드를 업데이트하고 속성 ("Modified")을 오늘 날짜로 설정하면 값이 지속되지 않는다는 것입니다. NH에서 생성 한 SQL 문에서 명령문에없는 것을 볼 수 있습니다. 나는 아무 쓸모없는 것을 추가하려고 노력했다.

instance.Update(); 

나는 이것이 올바르게 작동 할 것이라고 생각합니다.

답변

4

아니요, 이것은 작동 할 필요가 없습니다. 속성을 생성 된 것으로 매핑하면 데이터베이스에 의해서만 생성되며 응용 프로그램에서 변경할 수 없습니다. NH 삽입은 삽입 후에 생성 된 값을 페치 (fetch)해야하기 때문에 업데이트 할 때 생성되는 것이 아니라 업데이트 할 때 생성된다는 것을 지정합니다.

기본값을 설정하려면 생성자와 객체 지향 프로그래밍의 다른 기술을 사용합니다.

관련 문제