2010-05-12 159 views
1

我已经构建了我的第一个MVC解决方案,并使用存储库模式来检索/插入/更新我的数据库。LINQ to SQL存储库 - 缓存数据

我现在正在重构的过程中,我注意到我的仓库中的很多方法(实际上都是)每次都打到数据库。这似乎有点矫枉过正,我理想的做法是'缓存'主要数据对象,例如'GetAllAdverts',然后查询这个缓存对象,例如'FindAdvert(id),AddAdvert(),DeleteAdvert()等等。'

我还需要考虑更新/删除/添加记录到此缓存对象和数据库。

什么是这样的最好的appapp?

我对这类事情的了解很少,并且真正在寻找建议/指导/教程来指引我朝着正确的方向发展。

在此先感谢。

+0

http://stackoverflow.com/questions/343899/how-to-cache-data-in-a-mvc - 应用#349111 – David 2010-05-12 12:51:29

回答

0

这只是我的雷达,我假设你已经解决了这个问题。但是,如果不是,我会查看预编译的LINQ查询。事情是这样的:

 private static Func<SomeDataContext, int, PersonDto> _getPersonByIdQuery = 
     CompiledQuery.Compile<SomeDataContext, int, PersonDto>(
      (dataContext, personId) => 
       dataContext.PersonDtos.where(c => c.PersonId == personId).FirstOrDefault() 
       ); 

把东西像你的DataContext的里面,然后在里面添加一个内部方法来调用它调用它。您的检索者/保存者然后将调用内部方法。那有意义吗?如果需要的话我可以发布更多的代码..

祝你好运,

贾斯汀