【发布时间】:2012-04-05 17:47:07
【问题描述】:
我对 NHibernate ISession 有疑问。当我尝试将错误保存到数据库中时(例如,在 XYZ col 上保存具有重复键的实体)并回滚 Transaction; ISession 实例进入 BROKEN/INVALID 状态,此后不会保留任何记录,并且每次 NHibernat 抛出另一个异常,告诉我第一次问题。
我使用了像 Flush, Clear, Close 这样的 ISession 方法,但我的问题存在。另一种方法是从ISessionFactory 请求另一个ISession 实例,但是当我使用它时,另一个奇怪的问题是:illegal attempt to associate a collection with two open sessions。
如何在不从 ISessionFactory 重新请求另一个 ISession 实例的情况下恢复 ISession 实例?
提前致谢:)
【问题讨论】:
-
你有这个模型的延迟加载属性吗?
-
是的!很多延迟加载的属性(导航、集合)
-
如果您请求某些属性可能会出现问题。
标签: asp.net-mvc nhibernate isession