首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LLBLGENPro中的缓存

LLBLGENPro中的缓存
EN

Stack Overflow用户
提问于 2010-10-20 03:39:36
回答 1查看 559关注 0票数 0

我们有一个用linq to sql实现的项目,并且正在使用适配器模式迁移到LLBLGenPro运行时。

该应用程序的第一个版本做了大量的缓存,将整个表放入httpcache中,然后在代码幕后进行所有的链接。(叹息)

所以你会得到类似这样的结果:

代码语言:javascript
复制
from p in MyCacheObject.ProductPages
join cmpp in MyCacheObject.ProductContentMemberships on p.ProductPageId equals cmpp.ProductContentId
join pl in MyCacheObject.ProductPlans on cmpp.ProductLinkId equals pl.ProductPlanId                         

现在,在我们的新存储库模式中,我可以使用预取路径构建这样的连接。您只需调用myRepository.GetProductPagesWithContentMemberships()并获取一个包含ProductContentMemberships集合的ProductPage实体。

当我们与db对话时,这是很棒的,但是我如何有时从缓存的实体集合中拉出呢?我想缓存这些表,然后使用它们来构建我的复杂对象。

我可以让“从缓存获取”还是“从数据库获取”成为存储库可以做出的决定,但我希望我不必编写两个完全不同的GetProductPagesWithContentMemberships()实现:一个从数据库获取,另一个使用缓存。

我希望有一种神奇的适配器可以用来对对象缓存执行linq,而不是将其发送到SQL server。真的有这样的事情吗?

这篇文章:http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=6265暗示这是可能的,但仅此而已。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-22 03:57:20

我担心,简短的答案是“否”--没有神奇的适配器可以为您做缓存,而且LLBLGen除了使用Context对象之外,不支持任何形式的缓存--但是这些缓存是用户和会话的本地缓存,而不是全局缓存。

Article by Frans Bouma about caching in ORM Mappers

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3972049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档