Entity Framework(EF) 5

來源:互聯網
上載者:User

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

  • 枚舉類型支援
  • 效能增強,特別是.NET 4.5中
  • 自動使用localDb及SQLServerExpress
  • Spatial types
  • Table Valued Functions
  • 帶有多個結果集的預存程序

相容性方面支援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開發人員還可以選擇的一些(開源和商業包括在內)產品有NHibernate 和LightSpeed。另外,還有一些輕量級的微型ORM模型像Dapper.NET、PetaPoco 及Massive。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.