关闭

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

627人阅读 评论(0) 收藏 举报
分类:

  根据 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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:180823次
    • 积分:3065
    • 等级:
    • 排名:第11385名
    • 原创:104篇
    • 转载:92篇
    • 译文:4篇
    • 评论:27条
    文章分类
    最新评论