Caching LLBLGENPro中的缓存

Caching LLBLGENPro中的缓存,caching,repository,llblgenpro,Caching,Repository,Llblgenpro,我们有一个在linq to sql中实现的项目,正在使用适配器模式迁移到LLBLGenPro运行时 该应用程序的第一个版本进行了大量的缓存,将整个表放入httpcache,然后在codebehind中进行所有链接。叹息 所以你会得到这样的结果: from p in MyCacheObject.ProductPages join cmpp in MyCacheObject.ProductContentMemberships on p.ProductPageId equals cmpp.Produc

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

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

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

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交谈时,这很好,但是有时我如何从缓存实体的集合中提取呢?我想缓存这些表,然后使用它们来构建复杂的对象

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

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


这篇文章:暗示这是可能的,但仅此而已。

简短的回答恐怕是否定的-没有神奇的适配器可以为您进行缓存,而且除了使用上下文对象之外,LLBLGen不支持任何形式的缓存-但这些是用户和会话的本地缓存,而不是全局缓存


你在LLBLGen支持论坛上问过这个问题吗?你应该能从一个支持团队那里得到一个相当快的回复。因为我知道Frans读了stackYeah,我想这就是答案。我希望可以很容易地将自定义适配器连接到对象集合。如果我想自己过载适配器,我怀疑这仍然是可能的,但这可能超出了范围。三年后,情况发生了变化:有结果集缓存,并且很容易与linq代码一起使用: