如何使用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
}
;
由于
答案 0 :(得分:1)
我知道没有针对递归映射的特殊映射。只需映射它就像映射不同类的集合一样。在你的情况下,这应该工作(虽然未经测试):
m.OneToOne(c => c.rootStructure, a => a.Lazy(LazyRelation.Proxy))
NHibernate将假定此关系的外键存储在与该类关联的表的列rootStructure上。