2012-07-30 6 views
0

나는 외부 키 (FK) 필드와 주어진 FK에 대해 같은 날짜가되는 것을 막기위한 날짜 필드에 대한 유일한 제약 조건을 가진 데이터베이스 테이블을 가지고있다. 단일 트랜잭션에서 동일한 FK에 대해 테이블에 두 개의 레코드를 저장하기 위해 NHibernate (관련있는 경우 1.2)를 사용하고 있습니다. 하나는 이미 NULL 날짜가 있고 실제 날짜가 업데이트되었습니다. 다른 하나는 NULL 날짜가있는 삽입입니다. 무슨 일이 일어날 것 NHibernate 제약 조건 (동일한 FK 및 NULL 날짜) 위반하는 업데이트 전에 삽입하려고합니다.NHibernate가 데이터베이스 제약 조건을 사용하여 처리 순서를 변경하도록하는 방법은 무엇입니까?

저장을 여러 부분으로 나누지 않고 NHibernate가 업데이트 전에 삽입하면 제약 조건을 위반한다는 것을 알기 위해 매핑에 추가 할 수있는 것이 있습니까?

답변

2

AFAIK Flush()에 대한 연산 순서를 지정하는 것과 같은 것은 없습니다. 그러나 전체 작업을 거래에 넣고 모델 변경 후 session.Flush();으로 전화 한 다음 Save()SaveOrUpdate()을 사용하십시오.

관련 문제