0

我在使用 NHibernate 时遇到了一些奇怪的行为,我不知道我是否只是误解了会话和事务的工作方式。

行为是我正在打开一个会话,为该会话启动一个事务。然后我使用会话检索对象集合,以某种方式操作对象,然后提交事务。在这个过程中,我没有在会话上调用 Save 或 Update,但它隐式地保存了会话中对象的状态。

这是适当的行为吗?我正在为我的会话使用包装器,这就是它总是打开并提交事务的原因。

4

1 回答 1

2

看看 Flush、FlushMode 和 IsDirty。这在您操作集合时很常见。

如果您更改集合中的项目或将指针从一个集合更改为新集合,则 Nhibernate 会在刷新时通过 IsDirty 进行扫描。

于 2012-07-17T16:15:49.973 回答