先把文件发上来。one-to-many的问题
一个FeeBillEo里,可以包含多个BillUnitEo
FeeBillEo对应表FEE_BILL
BillUnitEo对应表BILL_UNITFEE_BILL里Bill_Id是主键,是BILL_UNIT的外键
BILL_UNIT里,Unit_Id是主键
FeeBillEonamespace ABC.DBR.Common.EO.EntityMapping
{
    public class FeeBillEo : CommBaseEO
    {
        [DataMember]
        public string Bill_Id { get; set; }
        [DataMember]
        public string Vessel_Voyage_Id { get; set; }
        [DataMember]
        public string Business_C{ get; set; }
        [DataMember]
        public List<BillUnitEo> Unit_List{ get; set;}
    }
}
namespace ABC.DBR.Common.EO.EntityMapping
{
    public class BillUnitEo:CommBaseEO
    {   
         [DataMember]
        public string Unit_Id { get; set; }
         [DataMember]
        public string Bill_Id { get; set; }
         [DataMember]
        public string Cntr_Id { get; set; }
           }
}

解决方案 »

  1.   

    <?xml version="1.0" encoding="utf-8"?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
      <!--Build: with Personal Nhibernate template-->
      <class name="ABC.DBR.Common.EO.EntityMapping.FeeBillEo,ABC.DBR.Common.EO" table="FEE_BILL" lazy="false">
        <id name="Bill_Id" column="BILL_ID" type="string">
          <generator class="assigned" />
        </id>
       
        <property name="Business_C" column="Business_C" type="string" not-null="true" />
        <property name="Vessel_Voyage_Id" column="Vessel_Voyage_Id" type="string" />
      
        <bag name="Unit_List" inverse="true" lazy="true" cascade="all-delete-orphan">
          <key column="BILL_ID" />
          <one-to-many class="ABC.DBR.Common.EO.EntityMapping.BillUnitEo,ABC.DBR.Common.EO" />
        </bag>  </class>
    </hibernate-mapping>
    <?xml version="1.0" encoding="utf-8"?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
      <!--Build: with Personal Nhibernate template-->
      <class name="ABC.DBR.Common.EO.EntityMapping.BillUnitEo,ABC.DBR.Common.EO" table="BILL_UNIT" lazy="false">
        <id name="Unit_Id" column="Unit_Id" type="string">
          <generator class="assigned" />
        </id>    <!--<property name="Bill_Id" column="BILL_ID" type="string" />-->
        <property name="Cntr_Id" column="CNTR_ID" type="int" />    <many-to-one name="Bill_Id" class="ABC.DBR.Common.EO.EntityMapping.FeeBillEo,ABC.DBR.Common.EO" column="BILL_ID" />
      </class>
    </hibernate-mapping>
      

  2.   

    现在运行到Save的时候,提示错误,如下:Invalid Cast (check your mapping for property type mismatches);网上查了一些解决方法,未解决,请高手指点。