2011-07-21 111 views
0

嘿所有關係複雜功能NHibernate

我不知道如何映射這一點。


我有買家,

買家可以有很多買家。
然後我得到了合同,

現在,每個合約的買方有許多不同的買家..

public class Buyer 
{ 
    private IList<Buyer> m_buyerList = new List<Buyer>(); 
    public virtual IList<Buyer> BuyersList 
    { 
     get { return m_buyerList; } 
     set { m_buyerList = value; } 
    } 

    public virtual string Name { get; set; } 
    public virtual int ID { get; set; } 
    public virtual string Address { get; set; } 
    public virtual string ExtraAddress { get; set; } 
    public virtual string PhoneA { get; set; } 
    public virtual string PhoneB { get; set; } 
    public virtual string PhoneC { get; set; } 
    public virtual string Email { get; set; } 
    public virtual string Fax { get; set; } 
} 


public class Contract 
    { 
     public virtual Buyer MainBuyer { get; set; } 
     public virtual DateTime SignedDate { get; set; } 
    } 

感謝你們。

回答

0

買家映射:

HasManyToMany(x => x.BuyersList)  
    .ParentKeyColumn("ParentBuyerId")  
    .ChildKeyColumn("BuyerId") 

合同映射:

References(x => x.MainBuyer); 
+0

也許會讓,對於每一個合同,buyer'll是父親給他們..我錯了?我希望每個合同的主購買者可以不同 – yoni

+0

合同映射將從外鍵中選擇其相應的買家。如果那個買家有孩子,那麼他們也會被抓到。 – anivas

+0

這正是我不想發生的事情。每個主要買家的買家都依賴合同 – yoni