Nhibernate 如何保存值为0的parentId?对象引用未保存的临时实例

Nhibernate 如何保存值为0的parentId?对象引用未保存的临时实例,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,我有一个SQL表-表描述,有三列 1) ID-标识和主键 2) 描述 3) Parent_Id-此链接回同一表中的Id 有一条记录的ID=0为其中一行。当我尝试创建一个父Id为0的新记录时,NHibernate抛出错误: 对象引用未保存的临时实例-保存临时实例 实例,或将属性的级联操作设置为 可以让它自动保存的东西 我猜这是因为当NHibernate试图生成一个新记录时,它会看到ID=0,并且因为它看到parent\u ID=0,它认为存在依赖关系 要理解这一点,我们如何使用parent\u I

我有一个SQL表-表描述,有三列

1) ID-标识和主键

2) 描述

3) Parent_Id-此链接回同一表中的Id

有一条记录的
ID=0
为其中一行。当我尝试创建一个父Id为0的新记录时,NHibernate抛出错误:

对象引用未保存的临时实例-保存临时实例 实例,或将属性的级联操作设置为 可以让它自动保存的东西

我猜这是因为当NHibernate试图生成一个新记录时,它会看到
ID=0
,并且因为它看到
parent\u ID=0
,它认为存在依赖关系

要理解这一点,我们如何使用
parent\u Id=0
创建新记录

谢谢,

尝试将属性设置为表中不存在的值,即-1。整数列的默认值为0

您可以在fluent mapping类中进行如下更改:

Id(x => x.ID).UnsavedValue(-1);

谢谢你的回答。实际上,我找到了一个解决方法,只需从数据库中获取父记录并将其分配给ParentId,而不是执行
ParentId=new Descrption{id=0}