C# NHibernate从不同会话更新POCO

C# NHibernate从不同会话更新POCO,c#,.net,nhibernate,C#,.net,Nhibernate,我们使用nhibernate加载POCO,关闭会话,然后更新它(将项目添加到包或更改某些属性),最后创建一个新会话并更新它。 NHibernate如何知道如何更新更改?(可能类似于选择更新的项目并将其与上一个项目进行比较?当您使用合并或类似操作时,它将尝试使用它已经知道的对象解析持久对象,如果它不知道,它将从数据库中加载它。此时,NHibernate具有load状态和current状态,并将比较这两个状态之间的值,以查看它是否脏。如果它脏了,它可以/将刷新更改

我们使用nhibernate加载POCO,关闭会话,然后更新它(将项目添加到包或更改某些属性),最后创建一个新会话并更新它。

NHibernate如何知道如何更新更改?(可能类似于选择更新的项目并将其与上一个项目进行比较?

当您使用
合并
或类似操作时,它将尝试使用它已经知道的对象解析持久对象,如果它不知道,它将从数据库中加载它。此时,NHibernate具有load状态和current状态,并将比较这两个状态之间的值,以查看它是否脏。如果它脏了,它可以/将刷新更改