2011-07-21 8 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

とthats正確に何が起こりたくないのですか?すべての主要な買い手の買い手は契約を破ります – yoni