如何在NHibernate中映射自引用

时间:2009-04-16 07:57:30

标签: c# nhibernate-mapping

我有一个非常特殊的NHibernate映射案例。该课程有自己的参考。

public class MyClass
{
   public Guid Id { get; set; }
   public MyClass SelfReference { get; set; }
}

数据库表在同一个表的主键上有一个外键字段。更糟糕的是,这个自引用可以为空。

这可以映射吗?如何做到这一点?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

一对一可用于同步主键并且很少使用,根据我的经验,多对一是“正常”引用的最“自然”关联:

<many-to-one name="SelfReference" class="MyClass" column="SelfReference_FK" />

答案 2 :(得分:0)

好像你只是把它当作任何其他一对一关系一样对待它?

答案 3 :(得分:0)

我认为这是一对一的简单。

我希望这会对你有所帮助

<one-to-one
name="PropertyName"
class="ClassName"
cascade="all|none|save-update|delete"
constrained="true|false"
fetch="join|select"
property-ref="PropertyNameFromAssociatedClass"
access="field|property|nosetter|ClassName"/>