2011-02-16 60 views
0
public class Node 
{ 
    public virtual int Id {get; set;} 
    public virtual string Name {get; set;} 
    public virtual IList<Node> Ancestors {get; set;} 
    public virtual IList<Node> Descendants {get; set;} 
} 

如何爲這種情況設置映射約定?自我引用多對多nhibernate映射約定

謝謝

回答

0

你確定你想要約定嗎?我會猜測你只是想要一個流暢的映射。下面是我最後一次幫助別人與這樣一個例子:

public class CustomerMap : ClassMap<Customer> 
{ 
    public CustomerMap() 
    { 
     Id(x => x.CustomerId); 
     Map(x => x.Birthday); 
     Map(x => x.FirstName); 

     HasManyToMany(x => x.Parents) 
      .ParentKeyColumn("ChildID") 
      .ChildKeyColumn("ParentID") 
      .Inverse(); 

     HasManyToMany(x => x.Children) 
      .ParentKeyColumn("ParentID") 
      .ChildKeyColumn("ChildID"); 
    } 
} 

原始線程見here。該線程鏈接到我爲演示自引用多對多關係而創建的示例項目,該項目爲here