2013-05-08 18 views
10
**Table Order** 
Id (PK) 
NonUniqueId 

**Table OrderLine** 
Id (PK) 
OrderNonUniqueId 
Text 

私は、OrderLine参照が存在するレガシーデータベースを非プライマリキー経由で注文しています。オーダーラインは多くのオーダーに属します。非主キーのFluent Nhibernate HasMany

HasManyでどのようにマッピングできますか?

**OrderMap** 
HasMany(x => x.OrderLines) 
     .KeyColumn("OrderNonUniqueId") 

(それは主キーOrder.Idを使用しているため動作しません)

答えて

15

あなたがPropertyRefを使用してみましたか?

public OrderMap() 
{ 
    ... 
    Map(x => x.NonUniqueId); 
    HasMany<OrderLine>(x => x.Lines) 
    .KeyColumn("OrderNonUniqueId") 
    .PropertyRef("NonUniqueId"); 
    ... 
} 

余分なMapがそうでなければ流暢NHibernateのは文句必要があるようです。 hbm.xmlファイル内で一対多をマッピングする場合、NonUniqueIdの追加のプロパティマッピングは必要ありません。

関連する問題