速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

使用 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:313105
用户头像

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

关注

评论

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

第四届“火焰杯”软件测试高校就业选拔赛颁奖典礼

霍格沃兹测试开发学社

音视频常用专业名词解析

X2Rtc

音视频 科普 RTC 基础知识

一个基于Vue3搭建的低代码数据可视化开发平台

互联网工科生

低代码 可视化 Vue3

当1024程序员节遇上双十一 联想用专业品质PC产品向程序员致敬

科技之家

自主可控,WorkPlus助力企业业务与生态的连接

WorkPlus

直播预约丨《实时湖仓实践五讲》第三讲:实时湖仓在袋鼠云的落地实践之路

袋鼠云数栈

大数据 前端 湖仓一体 实时湖仓

重读Effective JAVA(一)- 精进自己的JAVA技术

xfgg

Java

一图秒懂!从传统大数据平台到云原生大数据平台,再到云原生K8s大数据平台

智领云科技

Kubernetes #云原生 云原生大数据平台

河南工业大学人工智能与大数据学院学子在第三届“火焰杯”软件测试开发选拔赛中 取得佳绩

测试人

软件测试

Databend 开源周报第 116 期

Databend

颠覆者:Telegram 凭借源自中国的云基础设施成为超级应用

FN0

小程序 超级app miniapps

悦数图数据库 x 阿里云计算巢:打造云上超大规模图数据库

悦数图数据库

图数据库

低代码平台:业务开发的银弹

树上有只程序猿

低代码 应用开发

不被大厂“卡脖子”,选择WorkPlus拥抱生态伙伴时代

WorkPlus

业务出海、高效传输、动态加速,尽在云栖大会「CDN与边缘计算」专场

阿里云CloudImagine

云计算 云栖大会 边缘云

HarmonyOS音频开发指导:使用OpenSL ES开发音频播放功能

HarmonyOS开发者

HarmonyOS

Illustrator 2023 for mac(ai2023) v27.9完整激活版

mac

ai2023 苹果mac Windows软件 矢量图形编辑软件 Illustrator 2023

数据下钻分析?图表链接一招搞定!

观测云

数据分析 图表链接

英伟达4090显卡全面下架,有哪些替代方案?

青椒云云电脑

青椒云

41个外贸英语表达技巧!

九凌网络

第9期 | GPTSecurity周报

云起无垠

谷歌优化的十种方法

九凌网络

Sketch for mac(专业矢量绘图设计软件)v98.3永久激活版

mac

Sketch 苹果mac Windows软件 矢量图形设计工具

APP采用原生开发还是混合开发,哪种方式好?

Speedoooo

小程序生态 混合开发 小程序技术 小程序容器技术 混合框架

产品研发团队协作神器!10款提效工具大盘点!

彭宏豪95

产品经理 团队协作 开发工具 产品研发 在线白板

Minitab Express for Mac(数据分析统计软件)v1.5.0激活版

iMac小白

Minitab Express for Mac Minitab Express下载 Minitab Express破解版

Telegram 应用中正式引入国产小程序技术

Onegun

小程序 超级app 小程序容器技术

重磅官宣 | 第二届OpenHarmony技术峰会,邀您共启智联未来

OpenHarmony开发者

OpenHarmony

HarmonyOS SDK,赋能开发者实现更具象、个性化开发诉求

HarmonyOS开发者

HarmonyOS

WorkPlus专注私有化部署,为企业安全打造超级沟通协作APP

WorkPlus

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