0

我正在开发一个使用 NHibernate (v 3.3.0.4000) 和 memcache (v 3.1.0.4000,这是最新可用的) 的项目。

我有一个包含相当大字符串的大字段。由于我不想在每次调用时都加载此字段,因此我已使用 Fluent Nhibernate 将该属性配置为“延迟加载”。

一切正常(我的属性是按需加载的),除非启用了 memcache。我得到这个例外:

NHibernate.PropertyAccessException: The type System.Object can not be assigned to a property of type System.String setter of XYZ ---> System.ArgumentException: Impossible de convertir l'objet de type 'System.Object' en type 'System.String'.

我猜这个问题与“NHibernate.Caches.MemCache”的版本有关,它已经很老了,似乎还没有活着。

我想知道是否有人设法使用惰性属性运行 memcache。如果没有,是否可以禁用单个属性的缓存?

4

1 回答 1

0

看起来这是一个已知的错误: Retrieving object from 2nd cache with lazy property failed

而且,幸运的是,它已在最新版本中得到修复(截至今天为 3.3.2)

只需更新 NHibernate,问题就会消失。

于 2013-01-10T02:22:29.617 回答