我正在使用LINQ to SQL来调用某些报告存储过程。
每个存储过程都返回一个接受一些输入参数的类,例如:
public partial class csp_WeekCommencingListResult
{
public static IEnumerable<csp_WeekCommencingListResult> GetAll(int? masterTrackingGroupId)
{
using (var dataContext = OscaDataContext.CreateWithCustomTimeOut())
{
return dataContext
.csp_WeekCommencingList(masterTrackingGroupId)
.ToList();
}
}
}
如何缓存传递参数的存储过程的结果?
例如,当1传递给此存储过程时,其结果应缓存一天。
有什么想法?我可以使用任何框架吗?或者我必须使用.NET Cache对象为每个存储过程构建自己的自定义缓存管理器?
谢谢,
答案 0 :(得分:0)
您应该在更高级别添加缓存,例如在调用此代码的代码中。
尝试找出适用于您的项目的良好缓存策略。
当谈到缓存管理器时,我通常使用来自 Microsoft EnterpriseLibrary Caching 的ICacheManager
,我将属性注入了一些依赖注入框架,如Castle或StructureMap。这样我可以为不同的环境(dev,test,prod等)运行不同的配置。