2013-01-07 32 views
0

我有兩個表,我想與一對一的關係使用。流利Nnihbernate參考爲一對一

class ParentMap{ 
    public ParentMap(){ 
     References(x => x.ChildMap, "parent_id").Cascade.All(); 
    } 
} 

孩子沒有相關的映射。

問題是parent_id列是在父級而不是在子級創建的。

我可以工作,但它不符合邏輯。
什麼是地圖引用一對一的最好方式,我真的搜查( - ;

感謝

回答

0

您可以使用HasOne父把它映射爲one-to-one關係,這意味着。該連接發生在該表的主鍵,主鍵會保存時同步

如果這不適合你,那麼另一種方法是映射:

家長

public ParentMap() 
{ 
    HasOne(x => x.Child) 
     .PropertyRef(x => x.Parent) 
     .Cascade.All(); 
} 

兒童

public ChildMap() 
{ 
    References(x => x.Parent, "parent_id"); 
} 

這就要求你對孩子的屬性Parent。一對一關係是雙向的。