具有相同标识符值的不同对象已与会话关联:10,实体:Sales.Entities.Ttable1

Phi*_*lip 6 nhibernate

当我使用session.update(object)时,我得到以下错误,我该如何纠正这个错误?我甚至尝试过Session.evict(对象)仍然没有解决以下错误

 a different object with the same identifier value was already associated with the           session: 10, of entity: Sales.Entities.TTable
Run Code Online (Sandbox Code Playgroud)

Mr *_*ush 17

您的应用程序是Web应用程序吗?

使用 Session.Merge(object)

在Web应用程序中,您有时会对对象进行序列化和反序列化,然后您可以创建新对象,因此即使NHibernate对象具有相同的ID,对象引用也是不同的.然后你尝试更新你的反序列化对象,NHibernate检测另一个具有相同ID但不同的引用指针的对象,因此不知道你的内存中哪个对象是"正确的".

在这些情况下使用Merge()方法,因此您可以更新Web应用程序中的对象.