C# NHibernate泛型异常

C# NHibernate泛型异常,c#,nhibernate,exception,C#,Nhibernate,Exception,我正在尝试使用NHibernate创建简单的多对一关联。。我已使用此映射进行了类招募: <class name="Recruit" table="Recruits"> <id name="ID"> <generator class="native"/> </id> <property name="Lastname" column="lastname"/> <property name="Name" column="name"/

我正在尝试使用NHibernate创建简单的多对一关联。。我已使用此映射进行了类招募:

<class name="Recruit" table="Recruits">
<id name="ID">
  <generator class="native"/>
</id>
<property name="Lastname" column="lastname"/>
<property name="Name" column="name"/>
<property name="MedicalReport" column="medicalReport"/>
<property name="DateOfBirth" column ="dateOfBirth" type="Date"/>
<many-to-one name="AssignedOnRecruitmentOffice"
   column="assignedOnRecruitmentOffice"
   class="RecruitmentOffice"/>
然后我尝试将新的recrui保存到base:

 Recruit test = new Recruit();
 RecruitmentOffice office = new RecruitmentOffice();
 ofice.Name = "test";
 office.Chief = "test";
 test.AssignedOnRecruitmentOffice = office;
 test.Name = "test";
 test.DateOfBirth = DateTime.Now;
 RecruitRepository testing = new RecruitRepository();
 testing.Insert(test);
有这个错误吗

    GenericADOException 
could not insert: [OSiUBD.Models.DAO.Recruit][SQL: INSERT INTO Recruits (lastname, name, medicalReport, dateOfBirth, assignedOnRecruitmentOffice) VALUES (?, ?, ?, ?, ?); select SCOPE_IDENTITY()]

在session.Save上

看起来您需要将新兵表的[ID]列设置为SQL架构中的标识列。

InnerException:System.Data.SqlClient.SqlException Message=无法在表“laba.dbo.Recruites”的行“ID”中插入NULL;此行中不允许使用NULL。插入错误。(这是我将异常消息翻译成英文的)但ID是标识符,它必须自动插入,不是吗?这个m
 Recruit test = new Recruit();
 RecruitmentOffice office = new RecruitmentOffice();
 ofice.Name = "test";
 office.Chief = "test";
 test.AssignedOnRecruitmentOffice = office;
 test.Name = "test";
 test.DateOfBirth = DateTime.Now;
 RecruitRepository testing = new RecruitRepository();
 testing.Insert(test);
    GenericADOException 
could not insert: [OSiUBD.Models.DAO.Recruit][SQL: INSERT INTO Recruits (lastname, name, medicalReport, dateOfBirth, assignedOnRecruitmentOffice) VALUES (?, ?, ?, ?, ?); select SCOPE_IDENTITY()]