关联端重数

关联端多重性定义可位于关联一端的实体类型实例数。

关联端乘法可以具有以下值之一:

  • 一(1):指示关联端只存在一个实体类型实例。

  • 零或一个 (0..1):指示关联端存在零个或一个实体类型实例。

  • 许多 (*):指示在关联端存在零个、一个或多个实体类型实例。

关联通常以其关联端的多重性为特征。 例如,如果某个关联的两端的重数分别为“一 (1)”和“多 (*)”,则该关联称为一对多关联。 在下面的示例中,PublishedBy 关联是一对多关联(一个出版商出版许多书籍,而一本书由一个出版商出版)。 该 WrittenBy 关联是一个多对多关联(一本书可以有多个作者,一个作者可以写多本书)。

示例:

下图显示了一个概念模型,其中包含两个关联: PublishedByWrittenByPublishedBy 关联的关联端是 BookPublisher 实体类型。 Publisher 端的重数为“一 (1)”,Book 端的重数为“多 (*)”。

具有三种实体类型的示例模型

ADO.NET Entity Framework 使用称为概念架构定义语言(CSDL)的特定于域的语言(DSL)来定义概念模型。 下面的 CSDL 定义了上图中显示的 PublishedBy 关联:

<Association Name="PublishedBy">
      <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
      <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
    </Association>

另请参阅