Entity Framework Core

Entity Framework(EF) Core是ADO.NET的開源對象關係映射(ORM)框架。 但是由於Entity framework版本6與.NET Framework分離,它是.NET Framework的一部分,

基本介紹

  • 中文名:Entity Framework Core
  • 本質:對象關係映射(ORM)框架
發展歷史,架構,

發展歷史

.NET Framework 3.5 Service Pack 1和2008年8月11日發布的Visual Studio 2008 Service Pack 1中包含了第一個實體框架(EFv1)版本。該版本受到了廣泛的批評,甚至還引發了一個“不信任投票”大約一千個開發者。
實體框架的第二個版本,名為實體框架4.0(EFv4),於2010年4月12日作為.NET 4.0的一部分發布,並解決了許多版本1的批評。
實體框架第三版4.1版於2011年4月12日發布,並獲得Code First支持。
4.1版本的更新,名為Entity Framework 4.1 Update 1,於2011年7月25日發布。它包含錯誤修復和新支持的類型。
4.3.1版於2012年2月29日發布。有幾個更新,如支持遷移。
版本5.0.0於2012年8月11日發布,針對.NET框架4.5。此外,該版本可用於.Net Framework 4,但與版本4相比沒有任何運行時優勢。
版本6.0於2013年10月17日發布,2018是Apache License v2授權的開源項目。像ASP.NET MVC一樣,其原始碼使用Git託管在GitHub上[8]。該版本對代碼優先支持有許多改進。
然後,微軟決定對.NET跨平台進行現代化,組件化,並將其引入到Linux,OSX和其他地方,這意味著下一版本的實體框架將被完全重寫。在2016年6月27日,這是作為實體框架核心1.0發布的,以及ASP.Net Core 1.0和.Net Core 1.0。它最初被命名為實體框架7,但被重新命名為突出顯示它是完全重寫而不是增量升級,並且不會替代EF6。
EF Core 1.0在Apache License v2下獲得許可,並且完全在GitHub上打開。雖然EF Core 1.0與先前的Entity Framework版本有一些概念上的相似之處,但它是一個全新的代碼庫,旨在提高效率,功能強大,靈活且可擴展,可在Windows,Linux和OSX上運行,並支持全新的關係型和NOSQL數據存儲。
EF Core 2.0於2017年8月14日與Visual Studio 2017 15.3和ASP.NET Core 2.0一起發布。

架構

自下而上的ADO.NET實體框架的體系結構包含以下內容:
1.數據源特定提供程式,它在對概念模式進行編程時抽象ADO.NET接口以連線到資料庫。
2.Map提供程式,一種特定於資料庫的提供程式,它將實體SQL命令樹轉換為資料庫本機SQL風格中的查詢。它包含特定於存儲的網橋,它是負責將通用命令樹轉換為特定於存儲的命令樹的組件。
3. EDM解析器和視圖映射,它採用數據模型的SDL規範,以及它如何映射到底層關係模型,並根據概念模型進行編程。從關係模式中,它創建對應於概念模型的數據的視圖。它聚合來自多個表的信息,以便將它們聚合為一個實體,並將對實體的更新拆分為對該實體貢獻的任何表的多個更新。
4.查詢和更新管道,處理查詢,過濾和更新請求,將其轉換為規範的命令樹,然後由地圖提供者將其轉換為存儲專用查詢。
5.元數據服務,處理與實體,關係和映射有關的所有元數據。
6. 交易,以與底層商店的交易功能集成。如果底層商店不支持交易,則需要在此層實施對交易的支持。
7.概念層API,運行時公開編程模型以針對概念模式進行編碼。它遵循使用Connection對象引用地圖提供者的ADO.NET模式,使用Command對象傳送查詢,並返回包含結果的EntityResultSets或EntitySets。
8.下線的組件,本地快取在偶爾連線的環境中使用ADO.NET實體框架的數據集和實體集。
9.嵌入式資料庫:ADO.NET Entity Framework包含一個輕量級嵌入式資料庫,用於客戶端快取和查詢關係數據。
10.ADO.NET實體框架還包含了諸如Mapping Designer之類的設計工具,該工具簡化了將概念模式映射到關係模式並指定實體類型的哪些屬性與資料庫中的哪個表相對應的工作。
11. 編程層,它將EDM公開為可以被程式語言使用的編程結構。對象服務為CLR類自動生成代碼,這些CLR類將實體的屬性公開為相同的屬性,從而能夠將實體實例化為.NET對象.Web服務,將實體公開為Web服務。高級服務,例如報告服務,用於實體而不是關係數據。

相關詞條

熱門詞條

聯絡我們