2009-09-24 83 views
1

我一直在嘗試爲我的電子商務應用程序使用DDD樣式。我的大部分業務邏輯都是使用假存儲庫來實現的。現在,我想使用NHibernate將我的域模型綁定到真正的數據庫。nhibernate映射Ilist與複合元素

我有一個包含OrderLines列表的Order類對象

public IList<OrderLine> OrderLines{ ... } //line 1 

在我的訂單行類我父訂單的引用如下

2. public Order Order { set; get;} // line 2 

根據我的瞭解,訂單行是一個Value類而不是實體類,所以我將使用複合元素來執行映射。

<bag name="OrderLines" table="OrderLines" lazy="true"> 
     <key column="Order_ID"/> <!--This is where I got confused. line 3--> 
     <composite-element class="OrderLine"> 
      <!-- class attribute required --> 
      <many-to-one name="Order" class="Order" column="Order_ID"/> <!--Do I need this? line 4--> 
      ... 
     </composite-element> 
    </bag> 

請注意,在第3行中,我爲映射創建了一個關鍵元素(語法需要此操作)。但是由於我在OrderLine類(第2行)中定義了對Order類的引用,我是否還需要在第4行創建映射?

回答