2012-04-02 57 views
0

我如何去定義使用NHibernate同桌的NHibernate映射

一個同桌關係映射(mappingbycode)例如假設我有一個類:

public class Structure{ 
public int structureId; 
public string structureName; 
public Structure rootStructure; 
} 

引用同一類rootStructure 。

mapper.Class<Structure>(m => 
      { 
       m.Lazy(true); 
       m.Id(u => u.structureId, map => { map.Generator(Generators.Identity); }); 
       m.Property(c => c.structureName); 
       m.? // Same table mapping 
} 
; 

感謝

回答

1

有遞歸映射我所知沒有特殊的映射。就像映射一個不同類的集合一樣。你的情況,這應該工作(雖然未經測試):

m.OneToOne(c => c.rootStructure, a => a.Lazy(LazyRelation.Proxy))

NHibernate的會假設此關係的外鍵存儲在相關聯的那類表的列rootStructure。