📜  Entity Framework-数据模型

📅  最后修改于: 2020-11-21 07:14:16             🧑  作者: Mango


实体数据模型(EDM)是实体关系模型的扩展版本,它使用多种建模技术指定数据的概念模型。它还引用了一组描述数据结构的概念,而与数据的存储形式无关。

EDM支持一组在概念模型中定义属性的原始数据类型。我们需要考虑构成实体框架基础的3个核心部分,统称为实体数据模型。以下是EDM的三个核心部分。

  • 存储架构模型
  • 概念模型
  • 映射模型

存储架构模型

存储模型也称为存储模式定义层(SSDL),表示后端数据存储的示意图。

电火花加工

概念模型

概念模型也称为概念模式定义层(CSDL),是我们用来编写查询的真实实体模型。

映射模型

映射层只是概念模型和存储模型之间的映射。

逻辑模式及其与物理模式的映射表示为EDM。

  • Visual Studio还提供了实体设计器,用于可视化地创建EDM和映射规范。

  • 该工具的输出是指定模式和映射的XML文件(* .edmx)。

  • Edmx文件包含实体框架元数据工件。

模式定义语言

ADO.NET实体框架使用称为模式定义语言(SDL)的基于XML的数据定义语言来定义EDM模式。

  • SDL定义了与其他基本类型相似的简单类型,包括String,Int32,Double,Decimal和DateTime等。

  • 枚举定义了原始值和名称的映射,也被视为简单类型。

  • 仅从框架版本5.0起才支持枚举。

  • 复杂类型是根据其他类型的集合创建的。这些类型的属性的集合定义了实体类型。

数据模型主要具有三个描述数据结构的关键概念-

  • 实体类型
  • 关联类型
  • 属性

实体类型

实体类型是描述EDM中数据结构的基本构件。

  • 在概念模型中,实体类型是从属性构造的,并描述了顶级概念的结构,例如业务应用程序中的学生和注册。

  • 实体表示特定的对象,例如特定的学生或注册。

  • 每个实体在实体集中必须具有唯一的实体关键字。实体集是特定实体类型的实例的集合。实体集(和关联集)在逻辑上被分组在一个实体容器中。

  • 实体类型支持继承,即一种实体类型可以从另一种实体派生。

实体类型

关联类型

它是描述EDM中关系的另一个基本构建块。在概念模型中,关联表示两个实体类型(例如,学生和注册)之间的关系。

  • 每个关联都有两个关联端,用于指定关联中涉及的实体类型。

  • 每个关联端还指定一个关联端多重性,该多重性指示可以在关联那个端进行的实体数量。

  • 关联结束多重性的值可以为一(1),零或一(0..1)或许多(*)。

  • 可以通过导航属性或外键(如果它们在实体类型上公开)来访问关联一端的实体。

属性

实体类型包含定义其结构和特征的属性。例如,一个学生实体类型可能具有诸如学生ID,姓名等属性。

属性可以包含原始数据(例如字符串,整数或布尔值)或结构化数据(例如复杂类型)。