以下文章提供了實體框架 C# 的概述。實體框架是一種物件關係映射 (ORM),它透過消除應用程式中的冗餘作業來幫助提高使用者的應用程式生產力。 EF 建立了在 DB 中寫入或讀取資料所需的 DB 命令並完美執行它們。最後,EF 在 DB 中執行查詢,並將結果放入網域物件中以供應用程式使用。
實體框架是.Net應用程式的物件來源關係映射(ORM)框架,它允許開發人員透過使用特定於網域的物件來處理關聯式數據,而無需了解資料庫中的列和表。資料被儲存。此外,它還描述了實體框架最大限度地減少了開發人員通常編寫的資料存取程式碼。
假設部門表和員工表被視為包含多個部門的記錄以及各部門的員工。
為了實現這一點,我們必須建立 Department 和 Employee 類別。然後,為了從資料庫檢索這些數據,我們需要編寫 ADO.NET 程式碼。最後,當檢索資料時,我們必須建立 Employee 和 Department 對象,以使用復原的資料填充它們。
上面的整個事情很繁瑣,但是透過Entity Framework,這很容易;這些事情可以自動完成;我們需要向 EF 提供 DB Schema。讓我們看看以下使用 EF 建立應用程式的步驟。
要建立資料庫模式,請使用 SQL 腳本建立資料庫 EF_Demo_DB 並建立 Employee 和 Department 表
代碼:
-- to create the Database EF_Demo_DB CREATE DATABASE EF_Demo_DB; GO -- Use EF_Demo_DB database USE EF_Demo_DB; GO -- to Create the table Departments CREATE TABLE Departments ( ID INT PRIMARY KEY IDENTITY(1,1), Name VARCHAR(50), Location VARCHAR(50) ) Go -- to Create the table Employees CREATE TABLE Employees ( ID INT PRIMARY KEY IDENTITY(1,1), Name VARCHAR(50), Email VARCHAR(50), Gender VARCHAR(50), Salary INT, DepartmentId INT FOREIGN KEY REFERENCES Departments(ID) ) Go -- --to Populate the table with few records INSERT INTO Departments VALUES ('HR', 'Bangalore') INSERT INTO Departments VALUES ('Sales', 'Cochin') INSERT INTO Departments VALUES ('IT', 'Chennai') Go --to Populate the table with few records INSERT INTO Employees VALUES ('Philip', '[email protected]', 'Male', 45000, 2) INSERT INTO Employees VALUES ('Mary', '[email protected]', 'Female', 30000, 2) INSERT INTO Employees VALUES ('Valarie', '[email protected]', 'Female', 35000, 3) INSERT INTO Employees VALUES ('John', '[email protected]', 'Male', 80000, 1) INSERT INTO Employees VALUES ('Joseph', 'jojog.com', 'Male', 60000, 1) INSERT INTO Employees VALUES ('Steve', '[email protected]', 'Male', 45000, 3) INSERT INTO Employees VALUES ('Peter', '[email protected]', 'Male', 60000, 1) INSERT INTO Employees VALUES ('Rio', '[email protected]', 'Female', 345000, 3) INSERT INTO Employees VALUES ('Ben', '[email protected]', 'Male', 70000, 1) Go
建立控制台應用程式
資料準備好後,建立一個名為 EFDemo 的新控制台應用程序,如下所示:
新增 ADO.NET 實體資料模型
要建立控制台應用程序,請新增 ADO.NET 實體資料模型,然後右鍵單擊項目並新增 -New Item-Data- ADO.NET 實體資料模型,並將名稱命名為 EmployeeDataModel,如下所示。
按一下「新增」按鈕後,從資料庫中選擇 EF 設計器,然後按一下「下一步」按鈕,如下所示從資料庫中選擇 EF 設計器;在這裡,我們使用 EF 資料庫優先方法。
按一下「下一步」按鈕後,它會要求您選擇如圖所示的資料連線精靈;按一下「新連線」按鈕。
點擊“新連接”按鈕後,提供必要的資料庫詳細信息,最後“測試連接”,然後按一下“確定”。
選擇資料連線並將實體連線設定保存在App中。然後,如下所示進行配置,命名為 EF_Demo_DBEntities,然後按一下「下一步」按鈕。
此處要求您選擇 Entity Framework 6.x 並選擇「下一步」按鈕,如圖所示。
選擇所需的表,將模型命名空間變更為“EmployeeModel”,然後按一下“完成”按鈕,如圖所示。
點選「完成」按鈕會產生 EmployeeDataModel.edmx 檔案。
這是 EDMX 檔案的結構,如下圖所示,
使用 EF,我們創建了應用程式。
代碼:
namespace EFDemo { class Program { static void Main(string[] args) { using (EF_Demo_DBEntities DBEntities = new EF_Demo_DBEntities()) { List<Department> listDepartments = DBEntities.Departments.ToList(); Console.WriteLine(); foreach (Department dept in listDepartments) { Console.WriteLine(" Department = {0}, Location = {1}", dept.Name, dept.Location); foreach (Employee emp in dept.Employees) { Console.WriteLine("\t Name = {0}, Email = {1}, Gender = {2}, salary = {3}", emp.Name, emp.Email, emp.Gender, emp.Salary); } Console.WriteLine(); } Console.ReadKey(); } } } }
實體框架功能:
讓我們來看看實體框架的特徵:
在本文中,我們了解了 EF 的功能以及如何建立實體框架。然而,與 EF 相比,使用 ADO.NET 程式碼是乏味的。此外,這是一個耗時且容易出錯的過程,因此 Microsoft 提供了一個名為 Entity Framework 的框架來為我們的應用程式自動執行整個與資料庫相關的工作。
以上是實體框架 C#的詳細內容。更多資訊請關注PHP中文網其他相關文章!