跳到主要內容

發表文章

目前顯示的是 2012的文章

微軟宣佈Entity Framework 5的性能有了顯著提升

微軟宣佈即將到來的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