当我从集合中删除一个将被重新保存的对象时,我一直收到错误,因为它存在于其他集合中。在当前会话中,只存在我正在处理的集合。没有其他人。 所以我认为NHibernate告诉我即使对象将被删除,它仍然存在于会话中。
如何查看当前会话中的对象或NHibernate在哪个集合中发现我要删除的对象属于哪个?
答案 0 :(得分:13)
我找到了它:
var sessionContext = session.GetSessionImplementation().PersistenceContext;
foreach (var entity in sessionContext.EntitiesByKey.Values)
{
}
上下文包含会话中的所有对象。