簡體   English   中英

NHibernate集合:多對多關系

[英]NHibernate collections: many-to-many relationships

我有兩個模型,一個產品模型和一個ShoppingCart模型。 ShoppingCart模型具有作為屬性的產品集合,稱為產品(清單)。 這是我的ShoppingCart模型的映射。

<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>

當我嘗試保存到數據庫時,將保存ShoppingCart,但不會保存ShoppingCartContents中的映射行,這使我覺得映射存在問題。 我在哪里錯了?

將級聯屬性添加到包中

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

NH doc提供了多個用於級聯的選項:

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

高溫超導

您應該在事務中執行更改,否則nhibernate不會將更改保存在集合中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM