我正在尝试保存一个复杂的对象,里面有许多引用的元素,它在大多数时候都能正常工作.
但是在某些情况下我们得到以下例外,
object引用未保存的瞬态实例 - 在刷新之前保存瞬态实例,或者将属性的级联操作设置为使其自动保存的内容.类型:Namespace.Core.Client.ClientDetails,Entity:Namespace.Core.Client.ClientDetails
问题是,我的复杂对象中有大约12个ClientDetails元素,我们正试图保存.有没有办法识别哪个对象实例导致了这个问题?通过NHibernate日志记录或其他方式?我的代码示例用于保存如下,
_repository.Save<SuperParent>(obj);
_repository.Flush();
Run Code Online (Sandbox Code Playgroud)
请注意,当我将Nhibernate show_sql设置为true时,我能够看到正确生成的所有查询,但是当调用flush时,抛出异常.
请帮助解决问题.
Fir*_*iro 15
该异常意味着ClientDetails此对象引用了未保存的实例.您必须在保存父项之前手动保存它
session.Save(Parent.SomeDetail);
Run Code Online (Sandbox Code Playgroud)
或者Cascade.SaveOrUpdate在父映射中设置引用映射.
| 归档时间: |
|
| 查看次数: |
25082 次 |
| 最近记录: |