NH ManyToOne“对象是未保存的瞬态实例”

时间:2011-11-29 16:45:26

标签: nhibernate nhibernate-mapping

EntityA使用ManyToOne属性和EntityBproperty-ref建立cascade="none"关系。

在NH 2.1中,我能够使用以下代码:

EnttiyA a = new EntityA();
a.EntityB = new EntityB();
a.EntityB.PropertyRef = 13;
session.Save(a);

它就像一个魅力 现在,在我升级到NH 3.2后,相同的代码让我非常熟悉:

object is an unsaved transient instance - 
save the transient instance before merging: 

我做错了什么? 2.1和3.2之间的ManyToOne关系是否存在任何突破性变化?

[更新]:

为了让问题更加明确 - 我想要创建新的EntityB,我希望我的新EntityA能够引用PropertyRef值为13的现有EntityB。

谢谢!

1 个答案:

答案 0 :(得分:2)

嗯,它不应该在2.1中起作用。您已明确关闭了级联,因此保存a不会触发保存a.EntityB,并且a无法保留。在保存session.Save(a.EntityB)之前致电a或将级联值更改为至少save