【发布时间】:2010-09-07 18:49:00
【问题描述】:
让我彻底困惑的一件事是 session.Flush 与 session.Commit 和 session.Close 结合使用。
有时session.Close 会起作用,例如,它会提交我需要的所有更改。我知道当我有一个事务或一个工作单元有多个创建/更新/删除时我需要使用提交,以便在发生错误时选择回滚。
但有时我真的被session.Flush 背后的逻辑所阻碍。我见过一些例子,你有一个session.SaveOrUpdate(),然后是一个刷新,但是当我删除 Flush 时它仍然可以正常工作。有时我在 Flush 语句中遇到错误,说会话超时,删除它可以确保我没有遇到该错误。
是否有人对何时何地使用 Flush 有很好的指导?我已经为此查看了 NHibernate 文档,但我仍然找不到一个简单的答案。
【问题讨论】:
标签: .net session nhibernate flush