2012-02-29 50 views
0

我们使用nhibernate加载POCO,关闭会话并更新它(将项添加到包或更改某些属性),最后创建一个新会话并更新它。
NHibernate如何知道如何更新更改? (可能像选择,并与前一个比较更新的项目?)NHibernate更新来自不同会话的POCO

感谢

回答

1

当您使用Merge或其类似物,它会尝试与一个它已经知道要解决的持久化对象,如果它不会,它会从数据库中加载它。在那一点上,NHibernate具有负载状态以及当前状态,并将比较两个状态之间的值以查看它是否脏。如果它很脏,它可以/将会刷新更改。