Entity Framework(EF) 5


在Entity Framework宣布開源后不久Entity Framework(EF) 5就正式發布了,ADO.NET官方博客上EF5 Released列出了EF5的新特性:

兼容性方面支持Visual Studio 2010 和 Visual Studio 2012 上的 .NET 4.0 和4.5應用項目。

微軟已經發布了一份白皮書,概述使用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開發人員還可以選擇的一些(開源和商業包括在內)產品有NHibernateLightSpeed。另外,還有一些輕量級的微型ORM模型像Dapper.NETPetaPocoMassive

 

Entity Framework 5.0系列之約定配置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM