11
在我的nhibenate会话中,我使用AutoMapper映射对象,并在afterMap操作中创建对象的新实例,因为我从属性比较的数据库中提取对象。 因此,AutoMapper使用相同的ID创建一个对象的两个实例。 当我尝试提交会话时,出现错误,必须使用相同的ID进行响应。从NHibernate会话断开对象
所以我想断开属性比较后提取的对象。 之后,我可以提交会话
我该怎么做?
谢谢!
在我的nhibenate会话中,我使用AutoMapper映射对象,并在afterMap操作中创建对象的新实例,因为我从属性比较的数据库中提取对象。 因此,AutoMapper使用相同的ID创建一个对象的两个实例。 当我尝试提交会话时,出现错误,必须使用相同的ID进行响应。从NHibernate会话断开对象
所以我想断开属性比较后提取的对象。 之后,我可以提交会话
我该怎么做?
谢谢!
您可以使用session.Evict(persistentObject)
从会话中清除持久对象。这将从第一级缓存中删除对象,从而允许您刷新会话。
是否有可能从所有会话中删除它? – Joel 2014-04-11 11:34:50
除非你真的做得非常时髦,否则你的物体最多只能连接一次:水合物的那一次 – mookid8000 2014-04-11 12:33:30
我真的很希望那是真的。我有一些遗留代码,做的更好玩,所以我遇到了这个异常,我希望会有一些骇人的解决方法,但是哦... – Joel 2014-04-11 13:23:21