2010-05-17 76 views
0

的nHibernate映射文件

<property name="NetworkRunId" column="Network_Run_Id" /> 
<property name="StudyKey" column="Study_Key" insert="false" update="false" /> 
<property name="AnnualizationFactor" column="Annualization_Factor" /> 
<property name="CreateDate" column="Create_Date" /> 
<property name="ModifyDate" column="Modify_Date" /> 

<many-to-one name="StudyInfo" class="Study" lazy="false" cascade="save-update"> 
    <column name="Study_Key" /> 
</many-to-one> 

<many-to-one name="MemberInfo" 
      class="BusinessDataEntities.Domain.NetworkAdministration.VHAMemberCompany, BusinessDataEntities" 
      lazy="false"> 
    <column name="Member_ID" /> 
</many-to-one> 

<many-to-one name="NetworkRunStudyXrefInfo" 
      class="BusinessDataEntities.Domain.NetworkAdministration.NetworkRunStudyXref, BusinessDataEntities" 
      lazy="false"> 
    <column name="Network_Run_Id" /> 
</many-to-one> 

<join table="[HCO_Spend_Network_Run_Study]"> 
    <key column="HCO_Spend_Id" /> 
    <property name="NetworkRunId" column="Network_Run_Id" insert="false" update="false"/> 
</join> 

问题与

网络运行ID在第一个表 不存在的,但我有一个连接是具有Network_Run_Id财产如何解决这个

回答

0

如果列NetworkRunId是您的主键,则将其与<id>元素。

<class ...> 
    <id name="NetworkRunId" column="Network_Run_Id"> 
     <generator class="identity"/> 
    </id> 
</class> 

至于生成器类,请选择最适合您的底层数据库引擎。

编辑#1

为了映射many-to-many协会,你可能要采取的眼睛文档有关Collection Mapping上。也许滚动到6.3将回答你的问题。

+0

<多到一个名称= “NetworkRunStudyXrefInfo” 类= “BusinessDataEntities.Domain.NetworkAdministration.NetworkRunStudyXref,BusinessDataEntities” 懒= “假”> <列名称= “Network_Run_Id”/> 在这段代码中,我收到错误,表示Network_Run_Id不存在于表中,但它不存在,但在连接条件中,我将Network_Run_Id作为属性如何与其他表和列进行多对一名称Network_Run_Id匹配 – bharat 2010-05-17 16:57:17

+0

请查看我的编辑链接到NH文档。 – 2010-05-17 17:22:57