【发布时间】:2016-04-13 12:17:51
【问题描述】:
我有一个巨大的对象,它有很多延迟加载的属性。
我想启用对其属性的一小部分的快速编辑。 当我只有几个值时,我怎么能告诉 NHibernate:不要碰其他任何东西?
因为现在,当我保存时,所有未设置的内容都会丢失。
【问题讨论】:
标签: nhibernate
我有一个巨大的对象,它有很多延迟加载的属性。
我想启用对其属性的一小部分的快速编辑。 当我只有几个值时,我怎么能告诉 NHibernate:不要碰其他任何东西?
因为现在,当我保存时,所有未设置的内容都会丢失。
【问题讨论】:
标签: nhibernate
您是否在类映射中尝试过dynamic-update 选项?
<class name="SomeEntity" dynamic-update="true">
但是检查刷新是否不会导致卸载的惰性属性首先被加载,以防万一。
在您的问题中,您声明您失去了其他财产。我从未见过这样的行为。您是否在当前代码中附加(使用ISession.Update 或ISession.Merge)一个分离的实体?
我的建议在这种情况下不起作用。相反,它应该与从当前ISession 加载的实体一起工作,触及一些属性,然后仅使用ISession.Flush(或者最好是ITransaction.Commit,因为在没有事务的情况下工作不是一个好习惯)。
【讨论】: