2010-06-13 82 views
0

我有兩個模型,一個Product model和一個ShoppingCart模型。 ShoppingCart模型將產品集合稱爲產品(列表)。這是我的ShoppingCart模型的映射。NHibernate集合:多對多關係

<class name="MyProject.ShoppingCart, MyProject" table="ShoppingCarts"> 
    <id name="Id" column="Id"> 
    <generator class="native" /> 
    </id> 

    <many-to-one name="Company" class="MyProject.Company, MyProject" column="CompanyId" /> 
    <property name="ExternalId" column="GUID" generated="insert" /> 
    <property name="Name" column="Name" /> 
    <property name="Total" column="Total" /> 
    <property name="CreationDate" column="CreationDate" generated="insert" /> 
    <property name="UpdatedDate" column="UpdatedDate" generated="always" /> 

    <bag name="Products" table="ShoppingCartContents" lazy="false"> 
    <key column="ShoppingCartId" /> 
    <many-to-many column="ProductId" class="MyProjectMyProject.Product, MyProject" fetch="join" /> 
    </bag> 
</class> 

當我嘗試保存到數據庫中,我的購物被保存,但在ShoppingCartContents映射行救不了,讓我東西,有一個與映射的問題。我在哪裏錯了?

回答

0

級聯屬性添加到包

<bag name="Products" table="ShoppingCartContents" lazy="false" cascade="all"> 

有幾個選項用於級聯,從NH DOC:

cascade="all|none|save-update|delete|all-delete-orphan" 

HTH

0

你應該[執行事務中的變化,否則nhibernate不會保存集合中的更改。