【问题标题】:NHibernate QueryOver Caching IssueNHibernate QueryOver 缓存问题
【发布时间】:2012-04-06 21:41:42
【问题描述】:

我正在开发一个 Windows 窗体智能客户端,它使用 Fluent Nhibernate 1.1 和 NHibernate 3.0 来实现持久性。 由于遗留代码,我别无选择,只能创建一个处理所有客户端级别 CRUD 操作的会话。 这往往会使 Nhibernate 会话处于陈旧状态。所以我决定使用 QueryOver 来消除这个过时的数据问题,因为我的印象是查询结果没有被缓存。 这似乎没有发生,因为从 NHibernate 返回的结果似乎被缓存了。

我的问题是 QueryOver 的默认实现在返回结果时是否使用某种缓存?

【问题讨论】:

    标签: c# vb.net nhibernate fluent-nhibernate


    【解决方案1】:

    NHibernate 使用身份映射,它保证无论您如何从数据库中获取实体,您总是会为同一行(即在会话中)获取相同的对象。

    对 winforms 应用使用单个会话是错误的;您看到的问题只是冰山一角。

    要在 winforms 应用程序中更好地处理会话,请查看Effectus。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      相关资源
      最近更新 更多