实体数据模型

实体数据模型(EDM)是一组描述数据结构的概念,无论其存储形式如何。 EDM借自1976年彼得·陈描述的 Entity-Relationship 模型,但它也建立在 Entity-Relationship 模型的基础上,并扩展了其传统用途。

EDM 解决了数据以多种形式存储带来的挑战。 例如,假设业务将数据存储在关系数据库、文本文件、XML 文件、电子表格和报表中。 这在数据建模、应用程序设计和数据访问方面存在重大挑战。 设计面向数据的应用程序时,挑战在于编写高效且可维护的代码,而无需牺牲高效的数据访问、存储和可伸缩性。 当数据具有关系结构时,数据访问、存储和可伸缩性非常高效,但编写高效且可维护的代码变得更加困难。 当数据具有对象结构时,权衡的结果会相反:编写高效且可维护的代码是以牺牲高效的数据访问、存储和可扩展性为代价的。 即使可以找到这些权衡之间的适当平衡,当数据从一个窗体移动到另一个窗体时,也会出现新的挑战。 实体数据模型通过描述独立于任何存储架构的实体和关系的数据结构来解决这些难题。 这使得存储的数据形式与应用程序设计和开发无关。 而且,由于实体和关系描述在应用程序(而不是其存储形式)中使用的数据结构,因此它们可以随着应用程序的发展而发展。

conceptual model 是将数据结构表示为实体和关系的一种特定方式,通常使用实现 EDM 概念的领域特定语言(DSL)来定义。 概念性架构定义语言 (CSDL) 是此类特定于域的语言的示例。 概念模型中所述的实体和关系可以视为应用程序中对象和关联的抽象。 这样,开发人员就可以专注于概念模型,而不必担心存储架构,并允许开发人员以效率和可维护性编写代码。 同时,存储架构设计器可以专注于数据访问、存储和可伸缩性的效率。

本节中

本节中的主题介绍实体数据模型的概念。 实现 EDM 的任何 DSL 都应包括此处所述的概念。 请注意, ADO.NET Entity Framework 使用 CSDL 来定义概念模型。 有关详细信息,请参阅 CSDL 规范

实体数据模型关键概念

实体数据模型:命名空间

实体数据模型:基元数据类型

实体数据模型:继承

关联端

关联端乘数

关联集

关联集端

关联类型

复杂类型

实体容器

实体键

实体集

实体类型

方面

外键属性

模型声明的函数

模型定义函数

导航属性

财产

引用完整性约束

另请参阅