1
我有以下映射。我希望將BasketItem映射到類「產品」。所以基本上,當我重複直通籃下我能得到的產品名稱nhibernate:一對一映射
<class name="BasketItem" table="User_Current_Basket">
<id name="Id" type="Int32" column="Id" unsaved-value="0">
<generator class="identity"/>
</id>
<property name="ProductId" column="Item_ID" type="Int32"/>
<one-to-one name="Product"
class="Product"></one-to-one>
</class>
如何specifiy該產品應Product.Id
而且我讀過,我應該避免單匹配BasketItem.ProductId一對一,只是使用一對多?如果我這樣做,我如何確保我只獲得一種產品而不是一種集合。
//編輯
select * from BasketItem
inner join Products on BasketItem.Item_ID = Products.Item_ID
感謝,在問候了一對之一。 「BasketItem」如何知道它必須匹配basketItem.ProductId = product.Id上的所有產品。我已經添加了一些上面的SQL,可以清楚這一點 – frosty 2010-05-15 13:47:30
@frosty嗯,這正是映射所說的,這正是NHibernate的工作(您可能需要在「一對一」中添加'column'屬性'關係,如果你不使用NHibernate的默認值)。你試過了嗎? – 2010-05-15 14:12:44
謝謝,我找不到一對一的列屬性。我已經設置了多對一,它似乎工作,除了我認爲我現在有會議發佈。我發佈了一個關於此的新問題。 – frosty 2010-05-15 18:25:47