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

  根据 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值