【发布时间】:2010-07-09 01:11:19
【问题描述】:
我已经为来自数据访问的对象编写了自己的缓存层。我的理由是我希望我的数据访问层能够做到这一点——数据访问。我真的不希望它担心缓存,我只想在需要从数据库中获取数据时进入该层。也许这不是思考问题的正确方式——如果我偏离了轨道,请告诉我。
无论如何,到目前为止,我至少遇到了一个问题。在一种情况下,我从 NHibernate 加载一个对象,并在一个请求中将其粘贴到缓存中。在下一个请求中,我从缓存中获取该对象,对其进行修改,然后返回到 NHibernate 以保存它。显然,NHibernate 呕吐了,在这个特定的实例中出现了 "Illegal attempt to associate a collection with two open sessions" 异常。
所以我的问题是,我想,有什么我应该注意或做的事情来完成这项工作吗?还是应该只使用 NHibernate 内置的二级缓存?
【问题讨论】:
标签: c# nhibernate