在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

使用 Entity Framework 5 的性能注意事项

  • 2012-04-30
  • 本文字数:847 字

    阅读完需:约 3 分钟

虽然 Entity Framework(EF) 5 承诺带来了超越 EF 4 的大幅性能提升,但为了更有效地使用 ORM,我们仍然需要关注一些注意事项——即视图生成、缓存、自动编译的查询、查询执行选项及设计时(Design Time)。

微软已经发布了一份白皮书,概述使用待发布的 Entity Framework 5(它将作为即将到来的.NET 4.5 的一部分发布)时应关注的各种性能注意事项。

以下是一些需要注意的地方:

  • 冷查询执行 vs. 暖查询执行(Cold-vs-Warm query execution)——视图生成这一步(用于从数据库模式到概念模式或从概念模式到数据模式的必要转换)会增加第一次运行查询时的开销,后续运行会因为视图缓存的缘故会更快一些。用户可以通过预生成视图来提升性能
  • 缓存——在对象层次(特别是结合禁用 AutoDetectChanges 改善 DbContext Find() 性能),可用的缓存有查询计划缓存(Query Plan Caching)、元数据缓存(MetaData Caching)及结果缓存(Results Caching)。EF 仍然没有提供二级缓存,不过我们可以参考一些指南进行实现——如 CodePlex 上的示例,以及 Julia Lerman 的文章“ Entity Framework 与 Windows Azure 中的二级缓存”;
  • 可选的无跟踪查询(没有状态跟踪的开销)。目前该选项只对 ObjectQuery 可用,没法适用于 DbSet 及 DbQuery 类;
  • 微型 ORM 风格的快速查询,如数据库上执行SQL 查询以及 ExecuteStoreQuery
  • 设计时注意事项——每个层次对应一张表(Table-per-hierarchy,简称 TPH)vs. 每个类型对应一张表(Table-per-Type,简称 TPT)vs. 每个类对应一张表(Table-per-Class,简称 TPC);其中 TPT 在查询复杂度及性能方面表现最差;
  • 延迟加载 vs. 预先加载 (Lazy-vs-Eager loading)。

Entity Framework 是由微软提供的一款面向.NET 应用程序的商业对象关系映射框架。除了EF 之外,.NET 开发人员还可以选择的一些(开源和商业包括在内)产品有 NHibernate LightSpeed 。另外,还有一些轻量级的微型 ORM 模型像 Dapper.NET PetaPoco Massive

查看英文原文: Entity Framework 5 - Performance Considerations Entity Framework

2012-04-30 20:313614
用户头像

发布了 125 篇内容, 共 44.7 次阅读, 收获喜欢 5 次。

关注

评论

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

新一代AI模型Claude 3:有大学生智商,全面超越GPT-4,现已正式登陆 Amazon Bedrock!

伊克罗德信息科技

Java社招面经分享,别人都是怎么面试蚂蚁的?

阿里、莫言

Java Java面经 Java面试题

软件测试学习笔记丨Pytest结合数据驱动读取json文件

测试人

软件测试 测试开发

聚道云如何实现薪人薪事与金蝶云无缝对接,破解财务难题?

聚道云软件连接器

案例分享

20年编程,AI编程6个月,关于Copliot辅助编码工具,你想知道的都在这里

京东科技开发者

OgGame——游戏全球发行的全套解决方案

Ogcloud

云游戏 游戏发行 云游戏发行 游戏云化 游戏发行公司

程序员排查BUG指南

Chris Zhang

bug定位

平台工程——让企业项目实现高效、低成本、高质量的落地

是但求其发

DevOps 云原生 IDEA 平台工程 java 架构

你在测试金字塔的哪一层(上)

禅道项目管理

软件开发 自动化测试 测试工程师 测试金字塔

架构实战营 - 模块二作业

满心

架构实战营

兼顾稳定和性价比的跨国企业SD-WAN组网

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

Vue.js 应用实现监控可观测性最佳实践

OpenTiny社区

开源 Vue 前端

Java 中 HashMap 详解

小白牙

Java Map集合

云手机为电商提供五大出海优势

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 跨境云手机

【AAAI 2024】MuLTI:高效视频与语言理解

阿里云大数据AI技术

人工智能 机器学习 模型训练 大模型

分享一个国内可用的AIGC生成平台|免费创作

京东科技开发者

2024政府工作报告聚焦数字经济,“双象限”评选凸显数字化先锋

信通院IOMM数字化转型团队

数字化转型 数字经济 IOMM 企业数字化转型发展双象限

全新架构!日志服务 SLS 自研免登录方案发布

阿里巴巴云原生

阿里云 云原生 日志服务 sls

API接口知识小结

Noah

被快手面试官追着问的真正线上索引失效的问题是如何排查的

派大星

:MySQL 数据库 Java 面试题 互联网大厂面试

使用Entity Framework 5的性能注意事项_.NET_Roopesh Shenoy_InfoQ精选文章