Microsoft建议实体框架中的二级缓存是什么?

时间:2012-08-17 05:27:25

标签: entity-framework caching entity-framework-5 data-access-layer

我使用了Jarek Kowalski制作的“EF Provider Wrappers”。它工作正常,但我注意到“限制和免责声明”部分,其中说:

  

除了示例代码中包含的内容之外,提供商尚未经过广泛测试,所以您应该使用它们,风险自负。

     

与其他任何示例一样, Microsoft不提供任何形式的支持,但如果您发现错误或有功能建议,请使用此博客的联系表单告诉我们关于他们。

我在这里有点困惑,微软是否真的希望开发人员在生产网站上使用EnityFramework而没有任何官方支持(或建议)进行二级缓存?

3 个答案:

答案 0 :(得分:8)

没有正式的二级缓存支持。我甚至不确定EF Provider包装器是否与.NET 4.5兼容。未来版本的EF的第二级缓存is in backlog

您还可以实施自己的解决方案,因为EF is fully open sourced

顺便说一下。我已经看到了几十个非常复杂的网站在生产中运行,没有任何缓存...

答案 1 :(得分:8)

现在有一个可用于EF 6.x的二级缓存提供程序

  

Entity Framework目前不支持缓存查询结果。实例框架版本5及更早版本可以使用示例EF缓存提供程序,但由于对提供程序模型的更改,此示例提供程序无法与Entity Framework 6及更高版本一起使用。该项目通过为Entity Framework 6.1应用程序启用查询结果的缓存来填补空白。

https://github.com/moozzyk/EFCache

Redis提供商在其上实施:

  

通过添加Redis支持来扩展EFCache

     

我想使用Redis将L2缓存添加到EF - 什么都没有   当时有空。

     

我发现Pawel Kadluczka(moozzyk)在CodePlex上写的EFCache

https://github.com/silentbobbert/EFCache.Redis

答案 2 :(得分:1)

Apache Ignite.NET为Entity Framework提供分布式内存二级缓存:https://apacheignite-net.readme.io/docs/entity-framework-second-level-cache