1. 程式人生 > >EF6基礎系列(一)---什麽是Entity Framework

EF6基礎系列(一)---什麽是Entity Framework

win 類型 mage 使用 net 數據模型 檢索 數據訪問 cor

什麽是Entity Framework

1.EF的概念

在.NET3.5之前,我們經常編寫ADO.NET代碼或企業數據訪問塊來保存或檢索底層數據庫中的數據。做法是:打開過一個數據庫的連接,創建一個DataSet來獲取或提交數據到數據庫,通過將DataSet中的數據和.NET對象相互轉換來滿足業務需求。這是一個麻煩且容易出錯的過程Microsoft提供了“Entity Framework”框架,用於自動地執行所有上述與數據庫相關的活動。
EF是一個適用於.NET開發的開源ORM框架。它使開發人員能夠通過領域對象來處理數據,而無需關註存儲此數據的基礎數據庫。使用實體框架,開發人員在處理數據時可以在更高的抽象級別上工作,並且與傳統應用程序相比,可以使用更少的代碼創建和維護面向數據的應用程序。

官方定義:“實體框架是一種對象關系映射器(O/RM),它使.NET開發人員能夠通過.NET對象來操作數據庫。它消除了開發人員通常需要編寫的大多數數據訪問代碼的需求。“

實體框架工作在業務實體(域類)和數據庫之間。它保存實體屬性中的數據到數據庫,也可以從數據庫中檢索數據並自動將其轉換為實體對象。
技術分享圖片

2.EF功能總結

這裏簡單地總結EF的特性,以後詳細總結

1.跨平臺   EF Core是一個跨平臺的框架,可以在Windows,Linux和Mac上運行。
2.建模     EF可以創建具有不同數據類型get / set屬性的EDM(Entity Data Model/實體數據模型)。它使用此模型查詢或保存底層數據庫的數據。
3.查詢 EF允許我們使用LINQ從底層數據庫中檢索數據,同時也支持直接對數據庫執行原始SQL查詢。 4.更改跟蹤 EF會跟蹤需要提交到數據庫的實體實例(屬性值)發生的更改。 5.保存 EF調用SaveChanges()方法時,根據實體發生的更改,對數據庫執行INSERT,UPDATE和DELETE命令。EF還提供了異步的SaveChangesAsync()方法。 6.並發 默認情況下,從數據是從數據庫中提取開始,EF使用樂觀並發來避免我們做的修改被其他用戶覆蓋。 7.事務 EF在查詢或保存數據時自動執行事務管理。它還提供自定義事務管理的選項。 8.緩存
EF包括開箱即用的第一級緩存。因此,重復查詢將從緩存中返回數據,而不是訪問數據庫。
9.配置 EF允許我們使用註釋屬性配置EF模型,也可以使用Fluent API來覆蓋默認約定。 10.遷移 EF提供了一組遷移命令,我們可以在NuGet Package Manager控制臺或命令行界面中執行這些命令來創建或管理底層數據庫計劃。

EF6基礎系列(一)---什麽是Entity Framework