1

我有一个 SQL表 - table_description三列。

1)ID——身份和主键

2) 说明

3) Parent_Id - 这链接回 SAME 表中的 ID。

有一个记录ID = 0作为行之一。当我尝试使用创建新记录时Parent_Id = 0,NHibernate 会抛出错误:

对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例或将属性的级联操作设置为使其自动保存的内容

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

理解了这一点,我们如何创建新记录parent_Id = 0

谢谢,

4

1 回答 1

2

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

您可以在流畅的映射类中像这样更改它:

Id(x => x.ID).UnsavedValue(-1);
于 2012-08-08T19:40:21.153 回答