使用实体框架6进行缓存,并在发生更改时收到通知

时间:2014-01-04 11:16:21

标签: entity-framework caching

让我们说查询某些场景需要一些时间。例如,要获得某个实体,我必须连接几个表。有没有办法缓存结果,以及在缓存被破坏的实体中发生了什么变化?

我可以手动执行此操作,但是当您想要缓存更多时,维护这一过程变得乏味。

有没有办法通过实体框架实现自动化?我的最终目标是查询一个实体,然后进入缓存然后如果不存在它将从数据库中获取它,否则它将从缓存中返回它,如果该实体中的某些内容发生了变化,那么它将从缓存中删除。

我希望在没有关心检查缓存的情况下实现这一点,并让该库在场景后面执行此操作,即通过简单查询实体将整个场景抽象给我。

是否有可以实现此功能的库/技术?

我正在使用EF6,Sql Server,ASP.NET MVC

1 个答案:

答案 0 :(得分:1)

这称为二级缓存。我也希望实现这一点。据我所知,EF6不支持此功能。我已经在互联网上搜索了很多并找到了一些解决方案,但实施起来却很乏味。简单的方法是使用像NCache这样的解决方案(商业和免费)。