将公式字段插入NHibernate中的数据库

将公式字段插入NHibernate中的数据库,nhibernate,Nhibernate,我的hbm文件中有一个公式字段。它使用的是用户定义的SQL函数。此函数生成一个序列号 <property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert" /> <property name="IsReqForCustomerOrder" column="IsReqForCustome

我的hbm文件中有一个公式字段。它使用的是用户定义的SQL函数。此函数生成一个序列号

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />
但是当Nhibernate生成insert查询时,它会忽略公式字段。如何将sql函数生成的值插入数据库

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />
有什么想法吗

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />

谢谢

该公式是
只读
值,无法写回数据库

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />
当然,您在这里的答案是添加
dbo.GenerateRequisitionNo()
作为
requisionno
列的默认值,并去掉这个公式列,乍一看这似乎是正确的路线

<property name="RequisitionNo" column="RequisitionNo" formula="Aims.GenerateRequisitionNo()" not-null="true" generated="insert"  />    
<property name="IsReqForCustomerOrder" column="IsReqForCustomerOrder" not-null="true" />
<property name="SalesOrderNo" column="SalesOrderNo" not-null="false" />
<property name="IsActive" column="IsActive" not-null="true" />