實體框架 - 資料模型



實體資料模型 (EDM) 是實體關係模型的擴充套件版本,它使用各種建模技術指定資料的概念模型。它也指一組描述資料結構的概念,而不管其儲存形式。

EDM 支援一組定義概念模型中屬性的原始資料型別。我們需要考慮構成實體框架基礎的三個核心部分,它們統稱為實體資料模型。以下是 EDM 的三個核心部分。

  • 儲存模式模型
  • 概念模型
  • 對映模型

儲存模式模型

儲存模型也稱為儲存模式定義層 (SSDL),它表示後端資料儲存的示意圖。

EDM

概念模型

概念模型也稱為概念模式定義層 (CSDL),是我們編寫查詢的實際實體模型。

對映模型

對映層只是概念模型和儲存模型之間的對映。

邏輯模式及其與物理模式的對映表示為 EDM。

  • Visual Studio 還提供實體設計器,用於視覺化建立 EDM 和對映規範。

  • 該工具的輸出是指定模式和對映的 XML 檔案 (*.edmx)。

  • Edmx 檔案包含實體框架元資料工件。

模式定義語言

ADO.NET 實體框架使用基於 XML 的資料定義語言,稱為模式定義語言 (SDL),來定義 EDM 模式。

  • SDL 定義了類似於其他原始型別的簡單型別,包括字串、Int32、Double、Decimal 和 DateTime 等。

  • 列舉(定義了原始值和名稱的對映)也被認為是一種簡單型別。

  • 只有從 5.0 版本開始才支援列舉。

  • 複雜型別是由其他型別的聚合建立的。這些型別的屬性集合定義了實體型別。

資料模型主要包含三個關鍵概念來描述資料結構:

  • 實體型別
  • 關聯型別
  • 屬性

實體型別

實體型別是描述 EDM 中資料結構的基本構建塊。

  • 在概念模型中,實體型別由屬性構成,並描述頂級概念的結構,例如業務應用程式中的學生和註冊。

  • 實體表示特定物件,例如特定學生或註冊。

  • 每個實體都必須在實體集中具有唯一的實體鍵。實體集是特定實體型別的例項的集合。實體集(和關聯集)在實體容器中進行邏輯分組。

  • 實體型別支援繼承,即一個實體型別可以從另一個實體型別派生。

Entity Type

關聯型別

它是描述 EDM 中關係的另一個基本構建塊。在概念模型中,關聯表示兩種實體型別之間的關係,例如學生和註冊。

  • 每個關聯都有兩個關聯端,它們指定關聯中涉及的實體型別。

  • 每個關聯端還指定關聯端多重性,指示關聯該端的實體數量。

  • 關聯端多重性可以取值為一 (1)、零或一 (0..1) 或多 (*)。

  • 關聯一端的實體可以透過導航屬性訪問,或者如果它們在實體型別上公開,則可以透過外部索引鍵訪問。

屬性

實體型別包含定義其結構和特性的屬性。例如,學生實體型別可能具有學生 ID、姓名等屬性。

屬性可以包含原始資料(例如字串、整數或布林值)或結構化資料(例如複雜型別)。

廣告