写点什么

对 Entity Framework 应用二级缓存

  • 2011-09-07
  • 本文字数:667 字

    阅读完需:约 2 分钟

二级缓存(Second Level Caching)是个 Entity Framework 中尚不能开箱即用的功能。在一篇 MSDN 文章“用 Entity Framework 和 AppFabric 实现二级缓存”中,Julie Lerman 展示了如何通过在 Entity Framework 中利用像 Microsoft AppFabric 等缓存服务来实现二级缓存。

我们为什么需要二级缓存?

EF 的最大好处之一是其拥有根据在上下文中找到的状态信息自动生成数据库持久化命令(插入、更新和删除)的能力。但是如果那些状态信息不可用,那么当调用 SaveChanges 命令时 EF 就会无所事事。

二级缓存有助于解决此类问题。这些缓存位于事务之外——常常是应用程序之外——因此可用于任何上下文实例。

Julie 扩展了由 Jarek Kowalski 设计的 EF Caching Provider 类,从而使得此类可与 Windows Server AppFabric 协同工作。她修改了适配器类,以便此类可以调用 AppFabric 的客户端 API,她还扩展 ObjectContext 类。你可以从她的文章中下载代码示例从而学到更多知识。

通过缓存常用查询数据从而避免频繁命中数据库,缓存二级缓存同样有助于提高高事务性应用程序(highly transactional applications)的性能。对于需要与像 Entity Framework 等 ORM 框架一起使用的缓存解决方案而言,Microsoft AppFabric 并非唯一的选择——在对代码进行适当地修改后,例如 memcached 等其他框架同样可用于相同的目的。

ADO.NET Entity Framework 是一款来自微软的对象- 关系映射器。最近发布的EF 4.1 具有一些有趣的功能,例如 Validation (验证)、 Spatial data (空间数据)、 Enums (枚举)及更多功能。

查看英文原文: Second Level Caching with Entity Framework

2011-09-07 23:415990
用户头像

发布了 55 篇内容, 共 20.3 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

没有永远的王者…Zig替代C,将成定局!

互联网工科生

C语言 C++ Zig语言

HarmonyOS“一次开发,多端部署“优秀实践——玩机技巧,码上起航

HarmonyOS开发者

HarmonyOS

OLAP数据库引擎怎么选?这本白皮书详解

极客天地

PHP/MySQL开发环境 MAMP Pro for Mac激活安装

胖墩儿不胖y

Mac软件

TDD、BDD、ATDD都是什么、有什么区别?(上)

禅道项目管理

基于装饰器——我劝你不要在业务代码上装逼!!!

沉浸式趣谈

朝夕光年游戏自动化测试实践

字节跳动技术范儿

测试 自动化测试 游戏测试

关于信创技术你需要了解这些概念

Onegun

操作系统 中间件 信创产业 信创生态

低代码是什么?能做什么?

树上有只程序猿

低代码 应用开发

Graph + LLM 实践指南|如何使用自然语言进行知识图谱构建和查询

悦数图数据库

数据库 图数据库

MegEngine 使用小技巧:Profiler使用手册

MegEngineBot

开源 性能优化

直播预告!生鲜与零售商品识别系统产业实践与部署详解

飞桨PaddlePaddle

人工智能 百度飞桨 硬件生态

低代码开发平台如何提升企业应用构建效率

力软低代码开发平台

九科信息成功签约东风汽车财务有限公司RPA项目

九科Ninetech

GitHub Copilot三连更:能在代码行里直接提问,上下文范围扩展到终端

Openlab_cosmoplat

人工智能

万界星空科技|免费开源MES系统|自动排产管理

万界星空科技

开源 MES系统

面试了38位Java候选人之后,我总结出了他们关于面试中的16条通病

程序员小毕

Java 程序员 面试 简历 八股文

软件测试/测试开发丨Python 学习笔记 之 链表

测试人

Python 程序员 软件测试 自动化测试 测试开发

华为云软件精英实战营——感受软件改变世界,享受Coding乐趣

华为云PaaS服务小智

软件开发 华为云 大赛

智能汽车驾驶演进:虚拟ECU种类与优劣分析

DevOps和数字孪生

虚拟ECU 汽车行业

软件测试/测试开发丨UI自动化测试用例结构分析

测试人

Python 程序员 软件测试 自动化测试 测试开发

6 个用于 3D 网页图形渲染的最佳 WebGL 库

3D建模设计

图形引擎

对Entity Framework应用二级缓存_语言 & 开发_Roopesh Shenoy_InfoQ精选文章