Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在NHibernate中映射自引用_C#_Nhibernate Mapping - Fatal编程技术网

C# 如何在NHibernate中映射自引用

C# 如何在NHibernate中映射自引用,c#,nhibernate-mapping,C#,Nhibernate Mapping,我有一个非常特殊的NHibernate映射案例。该类具有对自身的引用 public class MyClass { public Guid Id { get; set; } public MyClass SelfReference { get; set; } } 数据库表在同一表的主键上有一个外键字段。更糟糕的是,这个自引用可以为空 这是否有可能映射以及如何实现这一点?似乎你会像对待任何其他一对一关系一样对待它?我认为这是一种简单的一对一关系 我希望这能帮助你 <one-to

我有一个非常特殊的NHibernate映射案例。该类具有对自身的引用

public class MyClass
{
   public Guid Id { get; set; }
   public MyClass SelfReference { get; set; }
}
数据库表在同一表的主键上有一个外键字段。更糟糕的是,这个自引用可以为空


这是否有可能映射以及如何实现这一点?

似乎你会像对待任何其他一对一关系一样对待它?

我认为这是一种简单的一对一关系

我希望这能帮助你

<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"/>

似乎您愿意映射一棵树:


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

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


NHibernate能否只映射一个多对一关系?通常你总是需要两个站点。你也可以映射另一端。你必须结束:一对多包含当前节点的子节点一对一引用当前节点的父节点链接断开,你能修复它吗?回送存档链接到上面的帖子