- 實體框架教程
- 實體框架 - 首頁
- 實體框架 - 概述
- 實體框架 - 架構
- 實體框架 - 環境設定
- 實體框架 - 資料庫設定
- 實體框架 - 資料模型
- 實體框架 - DbContext
- 實體框架 - 型別
- 實體框架 - 關係
- 實體框架 - 生命週期
- 實體框架 - 程式碼優先方法
- 實體框架 - 模型優先方法
- 實體框架 - 資料庫優先方法
- 實體框架 - 開發方法
- 實體框架 - 資料庫操作
- 實體框架 - 併發
- 實體框架 - 事務
- 實體框架 - 檢視
- 實體框架 - 索引
- 實體框架 - 儲存過程
- 實體框架 - 斷開連線的實體
- 實體框架 - 表值函式
- 實體框架 - 原生SQL
- 實體框架 - 列舉支援
- 實體框架 - 非同步查詢
- 實體框架 - 持久化
- 實體框架 - 投影查詢
- 實體框架 - 命令日誌
- 實體框架 - 命令攔截
- 實體框架 - 空間資料型別
- 實體框架 - 繼承
- 實體框架 - 遷移
- 實體框架 - 急切載入
- 實體框架 - 延遲載入
- 實體框架 - 顯式載入
- 實體框架 - 驗證
- 實體框架 - 跟蹤更改
- 實體框架 - 彩色實體 (Colored Entities, 此處翻譯需根據實際含義調整)
- 實體框架 - 程式碼優先方法
- 實體框架 - 第一個示例
- 實體框架 - 資料註釋
- 實體框架 - Fluent API
- 實體框架 - 資料庫種子資料
- 實體框架 - 程式碼優先遷移
- 實體框架 - 多個DbContext
- 實體框架 - 巢狀實體型別
- 實體框架資源
- 實體框架 - 快速指南
- 實體框架 - 有用資源
- 實體框架 - 討論
實體框架 - 概述
什麼是實體框架?
實體框架首次釋出於 2008 年,是 Microsoft 用於.NET 應用程式與關係資料庫之間互動的主要手段。實體框架是一個物件關係對映器 (ORM),這是一種簡化軟體中物件與關係資料庫的表和列之間對映的工具。
實體框架 (EF) 是一個用於 ADO.NET 的開源 ORM 框架,它是 .NET Framework 的一部分。
ORM 負責建立資料庫連線和執行命令,以及獲取查詢結果並自動將這些結果作為應用程式物件。
ORM 還幫助跟蹤對這些物件的更改,並在收到指令時,它還會將這些更改持久儲存回資料庫。
為什麼要使用實體框架?
實體框架是一個 ORM,而 ORM 的目標是透過減少應用程式中使用的資料持久化冗餘任務來提高開發人員的生產力。
實體框架可以生成讀取或寫入資料庫資料的必要資料庫命令併為您執行它們。
如果要進行查詢,可以使用 LINQ to Entities 對域物件進行查詢。
實體框架將在資料庫中執行相關的查詢,然後將結果具體化為域物件的例項,供您在應用程式中使用。
市場上還有其他 ORM,例如 NHibernate 和 LLBLGen Pro。大多數 ORM 通常將域型別直接對映到資料庫模式。
實體框架具有更細粒度的對映層,因此您可以自定義對映,例如,透過將單個實體對映到多個數據庫表,甚至將多個實體對映到單個表。
實體框架是 Microsoft 建議用於新應用程式的資料訪問技術。
ADO.NET 似乎直接引用資料集和資料表的技術。
實體框架是所有前瞻性投資的所在,這種情況已經持續數年了。
Microsoft 建議您對所有新開發都使用實體框架而不是 ADO.NET 或 LINQ to SQL。
概念模型
對於習慣於以資料庫為中心進行開發的開發人員來說,使用實體框架最大的變化在於它允許您專注於業務領域。您希望應用程式執行什麼功能,而不會受到資料庫功能的限制?
在實體框架中,焦點稱為概念模型。它是應用程式中物件的模型,而不是用於持久化應用程式資料的資料庫模型。
您的概念模型可能與您的資料庫模式一致,也可能大相徑庭。
您可以使用視覺化設計器來定義您的概念模型,然後它可以生成您最終將在應用程式中使用的類。
您可以只定義您的類並使用實體框架的“程式碼優先”功能。然後實體框架將理解概念模型。
無論哪種方式,實體框架都會弄清楚如何從您的概念模型遷移到您的資料庫。因此,您可以對概念模型物件進行查詢並直接使用它們。
特性
以下是實體框架的基本特性。此列表是根據最顯著的特性以及關於實體框架的常見問題建立的。
- 實體框架是一個 Microsoft 工具。
- 實體框架正在作為開源產品開發。
- 實體框架不再與 .NET 發行週期繫結或依賴。
- 可與任何具有有效實體框架提供程式的關係資料庫一起使用。
- 從 LINQ to Entities 生成 SQL 命令。
- 實體框架將建立引數化查詢。
- 跟蹤對記憶體中物件的更改。
- 允許插入、更新和刪除命令生成。
- 可與視覺化模型或您自己的類一起使用。
- 實體框架支援儲存過程。