【问题标题】:NHibernate - flush before/after select?NHibernate - 在选择之前/之后刷新?
【发布时间】:2012-07-24 10:30:47
【问题描述】:

目前我正在处理一个由其他人编写的项目,并且已知 NHibernate 部分可能没有很好地实现。我在实习期间被要求改进这一点,但我对 NHibernate 也很陌生。 我遇到了一些代码部分,在选择后有一个 Flush,在我看来这完全没用,对吗(问题 1)? 我几乎阅读了完整的 NHibernate 文档,但我不确定我是否理解所有内容。

我应该在选择之前刷新(问题 2)吗?我的想法是,当我在刷新后选择时,数据将是最新的。

(目前该程序根本不使用任何事务 - 我认为那里有很大的改进空间)

【问题讨论】:

    标签: nhibernate flush


    【解决方案1】:

    NH官方documents说:

    9.7.1。刷新会话

    如果您碰巧使用的是 ITransaction API,则无需 担心这一步。它将在执行时隐式执行 事务已提交。否则你应该调用 ISession.Flush() 以确保所有更改都与数据库同步。

    should always use transactions,即使是为了阅读。

    如果您不使用事务,则应在写入后使用 Flush。
    阅读后对 Flush 没有任何意义。
    看看这些twoanswers,那里的一切都解释得很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 2011-01-05
      • 2012-01-07
      • 1970-01-01
      相关资源
      最近更新 更多