NHibernate从不同的会话更新POCO

时间:2012-02-29 07:43:51

标签: c# .net nhibernate

我们使用nhibernate加载POCO,关闭会话然后更新它(将项目添加到包或更改某些属性),最后创建一个新会话并更新它。
NHibernate如何知道如何更新更改? (或许类似于选择并将更新的项目与之前的项目进行比较?)

1 个答案:

答案 0 :(得分:1)

当您使用Merge或类似内容时,它将尝试使用已知的对象解析持久对象,如果不是,则会从数据库加载它。此时,NHibernate具有加载状态以及当前状态,并将比较两个状态之间的值以查看它是否是脏的。如果它是脏的,它可以/将刷新更改。