Home >> Blog >> 實體框架

實體框架

實體框架教程提供實體框架的基本和高級概念。我們的實體框架教程專為初學者和專業人士設計。

什麼是實體框架?

Entity Framework 是 Microsoft 支持的 .NET 應用程序的開源 ORM(對象關係映射)框架。它使開發人員能夠使用特定於域的類的對象來處理數據,而無需關注存儲數據的數據庫表和列。使用實體框架,當開發人員處理數據時,開發人員可以在更高的抽象級別上工作。在實體框架的幫助下,與傳統應用程序相比,我們可以用更少的代碼創建和維護面向數據的應用程序。

Entity Framework 是一個對象關係映射器,它使 .NET 開發人員能夠使用 .NET 對象處理數據庫。它消除了訪問開發人員需要編寫的數據代碼的需要。

此圖顯示了實體框架適合應用程序的位置。

實體框架

根據上圖,實體框架適合業務實體(域類)和數據庫。它將數據保存在業務屬性實體中,並從數據庫中檢索數據並將其自動轉換為業務實體的對象。

需要實體框架

實體框架是一個 ORM。ORM 的目的是通過減少應用程序中使用的冗餘任務來提高開發人員的生產力。

  • Entity Framework 可以生成必要的數據庫命令來讀取或寫入數據庫中的數據並為我們執行它們。
  • 如果我們正在查詢,我們可以使用 LINQ to Entities 來表達針對對象域的查詢。
  • Entity Framework 將在數據庫中執行相關查詢,然後將結果具體化為域對象的實例以與應用程序一起使用。

市場上還有其他 ORM,例如 NHibernate 和 LLBL Gen Pro。大多數 ORM 通常將域的類型直接映射到數據庫的模式。

實體框架

Entity Framework 有一個更細粒度的映射層,以便我們可以自定義映射。例如,通過將單個實體映射到多個數據庫表或將多個實體映射到單個表。

實體框架

Entity Framework 是 Microsoft 為新應用程序推薦的數據訪問技術。

ADO.Net 似乎直接引用了數據集和數據表的技術。

Microsoft 建議我們使用實體框架而不是 ADO.NET 或 LINQ to SQL 進行所有新開發。

實體框架功能

實體框架

跨平台: Entity Framework Core 是一個跨平台的框架,可以在 Windows、Linux 和 Mac 上運行。

建模:實體框架 (EF) 創建一個 EDM(實體數據模型),它基於具有不同數據類型的 get/set 屬性的 POCO(普通舊 CLR 對象)實體。當我們必須查詢實體數據並將其保存到底層數據庫時,它使用此模型。

查詢:實體框架允許我們使用 LINQ 查詢從數據庫中檢索數據。數據庫提供者會將這些 LINQ 查詢轉換為特定於數據庫的查詢語言(例如,用於關係數據庫的 SQL)。Entity Framework 還允許我們直接對數據庫執行原始 SQL 查詢。

更改跟踪:實體框架跟踪需要提交到數據庫的實體(屬性值)實例發生的更改。

保存:實體框架根據我們調用“ SaveChanges() ”方法時實體發生的更改對數據庫執行 INSERT、UPDATE 和 DELETE 命令。Entity Framework 還提供了異步的“ SaveChangesAsync() ”方法。

並發:實體框架默認使用樂觀並發來保護從數據庫中獲取數據時覆蓋另一個用戶所做的更改。

事務:實體框架在查詢或保存數據時自動管理事務。它還提供了自定義事務管理的選項。

查詢:實體框架允許我們使用 LINQ 查詢從數據庫中檢索數據。數據庫提供者會將這些 LINQ 查詢轉換為特定於數據庫的查詢語言(例如,用於關係數據庫的 SQL)。Entity Framework 還允許我們直接對數據庫執行原始 SQL 查詢。

更改跟踪:實體框架跟踪需要提交到數據庫的實體(屬性值)實例發生的更改。

保存:實體框架根據我們調用“ SaveChanges() ”方法時實體發生的更改對數據庫執行 INSERT、UPDATE 和 DELETE 命令。Entity Framework 還提供了異步的“ SaveChangesAsync() ”方法。

並發:實體框架默認使用樂觀並發來保護從數據庫中獲取數據時覆蓋另一個用戶所做的更改。

事務:實體框架在查詢或保存數據時自動管理事務。它還提供了自定義事務管理的選項。

緩存:實體框架包括開箱即用的第一級緩存。因此,重複查詢將從緩存中返回數據,而不是訪問數據庫。

內置約定:實體框架遵循配置編程模式的約定,並包含一組自動配置實體框架模型的默認規則。

配置: Entity Framework 允許我們通過使用數據註釋屬性或 Fluent API 來覆蓋默認約定來配置 Entity Framework 模型。

遷移:實體框架提供了一組遷移命令,可以在 NuGet 包管理器控制台或命令行界面上執行,以創建或管理數據庫架構。

先決條件

您應該具備 Visual Studio、C# 和 MS SQL 的基本知識。

觀眾

本教程是為那些想要學習如何在他們的應用程序中開始開發實體框架的人設計的。

問題

我們向您保證,您不會發現實體框架教程有任何問題。但如果有任何錯誤,請在聯繫表中發布問題。