【问题标题】:What does Microsoft recommend for 2nd level Caching in Entity Framework?Microsoft 对实体框架中的二级缓存有何建议?
【发布时间】:2012-08-13 13:47:12
【问题描述】:

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

除了示例代码中包含的内容之外,这些提供程序尚未经过广泛测试,因此您应该自担风险使用它们。

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

我有点困惑,微软真的希望开发人员在没有任何官方支持(或推荐)的情况下在生产网站上使用 EnityFramework 进行二级缓存吗?

【问题讨论】:

  • 标题似乎有点咄咄逼人。与其继续“攻击”,不如考虑询问期望的目标,例如:EF 支持的二级缓存策略是什么? (第一印象会对回复和/或接近投票产生很大影响..)

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


【解决方案1】:

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

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

https://github.com/moozzyk/EFCache

并在其之上实现了 Redis 提供程序:

通过添加 Redis 支持来扩展 EFCache

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      没有官方的二级缓存支持。我什至不确定 EF Provider 包装器是否与 .NET 4.5 兼容。二级缓存 is in backlog 用于未来版本的 EF。

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

      顺便说一句。我见过几十个相当复杂的网站在生产中运行,没有任何缓存......

      【讨论】:

      • 感谢 Ladislav,Entity Framework 5 的 EF Provider 包装器中存在一些可以修复的小问题。
      • '给我们发一个补丁'。来自世界上最大的软件公司的绝妙方法。
      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 2012-12-13
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2014-01-29
      相关资源
      最近更新 更多