标签: c# .net nhibernate
我们使用nhibernate加载POCO,关闭会话然后更新它(将项目添加到包或更改某些属性),最后创建一个新会话并更新它。 NHibernate如何知道如何更新更改? (或许类似于选择并将更新的项目与之前的项目进行比较?)
答案 0 :(得分:1)
当您使用Merge或类似内容时,它将尝试使用已知的对象解析持久对象,如果不是,则会从数据库加载它。此时,NHibernate具有加载状态以及当前状态,并将比较两个状态之间的值以查看它是否是脏的。如果它是脏的,它可以/将刷新更改。
Merge