12

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

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

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

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

4

3 回答 3

12

没有官方的二级缓存支持。我什至不确定 EF Provider 包装器是否与 .NET 4.5 兼容。二级缓存在 EF 的未来版本中积压

您还可以实现自己的解决方案,因为EF 是完全开源的

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

于 2012-08-17T07:04:02.560 回答
9

现在有一个可用于 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

于 2014-09-18T16:18:27.413 回答
2

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

于 2016-12-09T09:55:59.580 回答