尝试更新对象时,我在Asp.Net Castle ActiveRecord应用程序中收到以下错误:
“具有相同标识符值的其他对象已与会话相关联”
我查看了我的代码以查看对象可能在哪里创建但我没有看到它。这令人困惑,因为我在另一个页面上的代码完全相同,可以在更新上正常工作
现在我正在考虑尝试查看其他对象在Session中的位置,并将其删除或查看它如何进入会话。我怎样才能找到这个对象?
[更新] 好的,我终于找到了调用对象的位置。但是,我仍然想知道如何在会话中查找对象以供将来参考。
答案 0 :(得分:1)
如果您需要检查某个对象是否在您的会话中,您可能从一开始就采取了错误的方式。重新考虑如何管理会话和持久对象。
也就是说,您可能想尝试ISession.Contains()
,但只有在您使用会话中存储的确切实例进行检查时,它才会起作用。