【问题标题】:Same table NHibernate mapping同表 NHibernate 映射
【发布时间】:2012-04-15 23:48:10
【问题描述】:

如何使用 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 
}
 ;

谢谢

【问题讨论】:

    标签: c# nhibernate mapping nhibernate-mapping


    【解决方案1】:

    我知道递归映射没有特殊的映射。就像映射不同类的集合一样映射它。在您的情况下,这应该可以工作(尽管未经测试):

    m.OneToOne(c =&gt; c.rootStructure, a =&gt; a.Lazy(LazyRelation.Proxy))

    NHibernate 将假定此关系的外键存储在与该类关联的表的列 rootStructure 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      相关资源
      最近更新 更多