
- 實體框架教程
- 實體框架 - 首頁
- 實體框架 - 概述
- 實體框架 - 架構
- 實體框架 - 環境設定
- 實體框架 - 資料庫設定
- 實體框架 - 資料模型
- 實體框架 - DbContext
- 實體框架 - 型別
- 實體框架 - 關係
- 實體框架 - 生命週期
- 實體框架 - 程式碼優先方法
- 實體框架 - 模型優先方法
- 實體框架 - 資料庫優先方法
- 實體框架 - 開發方法
- 實體框架 - 資料庫操作
- 實體框架 - 併發
- 實體框架 - 事務
- 實體框架 - 檢視
- 實體框架 - 索引
- 實體框架 - 儲存過程
- 實體框架 - 斷開連線的實體
- 實體框架 - 表值函式
- 實體框架 - 原生SQL
- 實體框架 - 列舉支援
- 實體框架 - 非同步查詢
- 實體框架 - 持久化
- 實體框架 - 投影查詢
- 實體框架 - 命令日誌
- 實體框架 - 命令攔截
- 實體框架 - 空間資料型別
- 實體框架 - 繼承
- 實體框架 - 遷移
- 實體框架 - 渴望載入
- 實體框架 - 延遲載入
- 實體框架 - 顯式載入
- 實體框架 - 驗證
- 實體框架 - 跟蹤更改
- 實體框架 - 彩色實體
- 實體框架 - 程式碼優先方法
- 實體框架 - 第一個示例
- 實體框架 - 資料註釋
- 實體框架 - Fluent API
- 實體框架 - 種子資料庫
- 實體框架 - 程式碼優先遷移
- 實體框架 - 多個DbContext
- 實體框架 - 巢狀實體型別
- 實體框架資源
- 實體框架 - 快速指南
- 實體框架 - 有用資源
- 實體框架 - 討論
實體框架 - 資料模型
實體資料模型 (EDM) 是實體關係模型的擴充套件版本,它使用各種建模技術指定資料的概念模型。它也指一組描述資料結構的概念,而不管其儲存形式。
EDM 支援一組定義概念模型中屬性的原始資料型別。我們需要考慮構成實體框架基礎的三個核心部分,它們統稱為實體資料模型。以下是 EDM 的三個核心部分。
- 儲存模式模型
- 概念模型
- 對映模型
儲存模式模型
儲存模型也稱為儲存模式定義層 (SSDL),它表示後端資料儲存的示意圖。

概念模型
概念模型也稱為概念模式定義層 (CSDL),是我們編寫查詢的實際實體模型。
對映模型
對映層只是概念模型和儲存模型之間的對映。
邏輯模式及其與物理模式的對映表示為 EDM。
Visual Studio 還提供實體設計器,用於視覺化建立 EDM 和對映規範。
該工具的輸出是指定模式和對映的 XML 檔案 (*.edmx)。
Edmx 檔案包含實體框架元資料工件。
模式定義語言
ADO.NET 實體框架使用基於 XML 的資料定義語言,稱為模式定義語言 (SDL),來定義 EDM 模式。
SDL 定義了類似於其他原始型別的簡單型別,包括字串、Int32、Double、Decimal 和 DateTime 等。
列舉(定義了原始值和名稱的對映)也被認為是一種簡單型別。
只有從 5.0 版本開始才支援列舉。
複雜型別是由其他型別的聚合建立的。這些型別的屬性集合定義了實體型別。
資料模型主要包含三個關鍵概念來描述資料結構:
- 實體型別
- 關聯型別
- 屬性
實體型別
實體型別是描述 EDM 中資料結構的基本構建塊。
在概念模型中,實體型別由屬性構成,並描述頂級概念的結構,例如業務應用程式中的學生和註冊。
實體表示特定物件,例如特定學生或註冊。
每個實體都必須在實體集中具有唯一的實體鍵。實體集是特定實體型別的例項的集合。實體集(和關聯集)在實體容器中進行邏輯分組。
實體型別支援繼承,即一個實體型別可以從另一個實體型別派生。

關聯型別
它是描述 EDM 中關係的另一個基本構建塊。在概念模型中,關聯表示兩種實體型別之間的關係,例如學生和註冊。
每個關聯都有兩個關聯端,它們指定關聯中涉及的實體型別。
每個關聯端還指定關聯端多重性,指示關聯該端的實體數量。
關聯端多重性可以取值為一 (1)、零或一 (0..1) 或多 (*)。
關聯一端的實體可以透過導航屬性訪問,或者如果它們在實體型別上公開,則可以透過外部索引鍵訪問。
屬性
實體型別包含定義其結構和特性的屬性。例如,學生實體型別可能具有學生 ID、姓名等屬性。
屬性可以包含原始資料(例如字串、整數或布林值)或結構化資料(例如複雜型別)。