2012-04-02 10 views
0

Wie kann ichGleiche Tabelle NHibernate Mapping

eine gleiche Tabelle Relation Mapping (mappingbycode) mit Nhibernate definieren, gehen über

zum Beispiel sagen wir, ich habe eine Klasse:

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

, die die gleiche Klasse wie rootStructure verweist .

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 
} 
; 

Dank

Antwort

1

gibt es keine spezielle Zuordnung für rekursive Mappings i bewusst sind. Ordnen Sie es einfach so zu, wie Sie eine Sammlung einer anderen Klasse zuordnen würden. (Wenn auch nicht getestet) In Ihrem Fall sollte diese Arbeit:

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

NHibernate davon aus, dass der Fremdschlüssel für diese Beziehung auf Spalte rootStructure die Tabelle zu dieser Klasse zugeordnet ist, gespeichert wird.