EntityA
使用ManyToOne
属性和EntityB
与property-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。
谢谢!
答案 0 :(得分:2)
嗯,它不应该在2.1中起作用。您已明确关闭了级联,因此保存a
不会触发保存a.EntityB
,并且a
无法保留。在保存session.Save(a.EntityB)
之前致电a
或将级联值更改为至少save
。