2013-05-16 2 views
1

내 프로젝트에서 Nhibernate를 사용하고 있습니다. 나는 신원 명세가 참으로 설정된 프라이 머리 키를 가진 테이블을 가지고 있었고, 자동 증분 값을 생성하고있었습니다. 이것은 잘 작동하고 있습니다. 이 작업은 자동으로 올바르게 작동합니다.키가 이미 정의 된 테이블에 데이터를 삽입하는 방법

이제 코드에서 ID 키를 보내고 해당 키를 데이터베이스에 삽입해야합니다. 내가 할 때 GUID처럼,하지만 그것은 문이 종료되었습니다 나에게 예외

NHibernate.Exceptions.GenericADOException: could not insert: 
Cannot insert the value NULL into column 'User_Id', table 'tablename'; column does not allow nulls. INSERT fails. 

을주고있다.

Id(x => x.userId).GeneratedBy.Identity().Column("User_Id"); 
+0

포스트 엔터티 매핑 코드, 그것의, 특히 ID입니다. – cremor

+0

업데이트 된 질문을 확인하십시오. –

답변

0

테이블에 IDENTITY 생성기를 사용하지 때문에, 당신은 코드에서 키를 보낼 것을 기대한다. 이 경우, 단지 그 순간부터 Assigned

Id(x => x.userId) 
    .GeneratedBy 
    .Assigned() 
    .Column("User_Id"); 

Identity에서 당신의 매핑을 변경, NHibernate에 이미 코드에서 설정 한 GUID 값으로 INSERT 문을 보내드립니다. 그리고이

여기 https://github.com/jagregory/fluent-nhibernate/wiki/Fluent-mapping 자세한 내용을 참조하십시오 ...Cannot insert the value NULL... 문제 부분을 해결할 수 아이디