【问题标题】:Castle Activerecord object doesn't refreshCastle Activerecord 对象不刷新
【发布时间】:2010-07-16 12:44:45
【问题描述】:

我正在使用城堡活动记录,我使用 .Find() 方法加载一个实体,更新数据库后我调用 entity.Refresh() 但实体没有刷新,我在数据库中更改的数据是不反映在实体的状态中。我完全不知道如何让它发挥作用。

【问题讨论】:

  • 你在使用二级缓存吗?

标签: nhibernate castle-activerecord


【解决方案1】:

这个问题可能来自 NHibernate 缓存。

为了节省数据库连接,如果一个对象已经从数据库中加载,它会被保存在缓存中(虽然没有过期),如果你想得到这个值,NHibernate会给你缓存的值。

如果您执行 dabase 直接更新,则在缓存过期之前,您不会在应用程序中看到它。

为防止这种情况发生,如果您的基础可以直接更新,您必须停用 NHibernate 缓存。

【讨论】:

  • 我环顾四周,找不到如何禁用缓存,你知道吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多