BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

微软宣布Entity Framework 5的性能有了显著提升

| 作者 Jenni Konrad 关注 0 他的粉丝 ,译者 曹如进 关注 0 他的粉丝 发布于 2012年2月21日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

微软宣布即将到来的Entity Framework 5相比EF4在性能上会有67%的提升。

根据ADO.NET团队博客上的介绍,使用这个版本EF的应用程序之所以性能提升,要部分归功于LINQ to Entities查询的自动编译。自动编译功能一直都是EF框架中的一部分,只是需要开发人员调用CompiledQuery.Compile才能够使用。现在,EF 5会自动处理这步工作:当某个查询首次运行时,它会被编译并缓存,从而使得后续请求可以避免重新完全编译。

EF 4为ESQL(嵌入式SQL)查询使用了编译后的查询缓存,而EF 5将该功能扩展到了LINQ to Entity查询中。一旦缓冲中超过800个编译后的查询,某个回收算法将开始生效并以每分钟一次的周期清理缓存。 实体依据LFRU(最近最早使用)原理从缓存中移除。

使用编译后的LINQ to SQL查询同样能够提升性能。ADO.NET团队提到在他们的内部测试中,通过对查询参数评估方式的一些改动带来了600%的性能提升。

尽管.NET交付和EF的发布两者之间相互独立,它们还是公用了一些核心库,包括System.Data.Entity.dll、System.Data.Entity.Design.dll和System.Web.Entity.dll。这样的好处在于使用EF 4.0的开发人员只要升级到.NET框架4.5,就应当可以体验到性能的提升。

由于EF5中的某些新特性(如枚举支持以及空间数据类型)依赖于.NET框架4.5中的功能,因此在.NET 4.5发布之前没有太多指望能使用到它们。此外,微软在本月初宣布推出了EF4.3

查看英文原文:Microsoft Reports Significant Performance Improvements in Entity Framework 5

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

时机已到,可以出手了! by 高 翌翔

如题,;D

不太看好 by 鲍 丹

ORM针对简单关系模型时,性能没什么意义。因为一旦关系模型非常复杂的时候,就会造成级联的查询!
级联查询才是性能的瓶颈!这一点任何ORM都是无法避免的!
性能提升600%,指的是单表的性能提升吧?无非就是增加了一个缓存而已!
复杂模型的查询,带来的级联查询性能问题依旧没有解决。
所以文章中也说了:“这样的好处在于使用EF 4.0的开发人员只要升级到.NET框架4.5,就应当可以体验到性能的提升。”注意
其中的两个字“应当”!

Re: 不太看好 by Wen Ruiyun

同样不看好ORM,OO和表,基础概念并不一致,始终有硬套的痕迹

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT