关联集端

关联集端标识位于某个关联集一端的实体类型实体集。 关联集端定义为关联集的一部分;一个关联集必须有且只有两个关联集端。

关联集端定义包含以下信息:

  • 关联集中涉及的实体类型之一。 (必需)

  • 关联集中涉及的实体类型的实体集。 (必需)

示例

下图显示了一个具有两个关联的概念模型:WrittenByPublishedBy

Example model with three entity types

下图显示了基于上面所示的概念模型的一个关联集 (PublishedBy) 和两个实体集(BooksPublishers)。 关联集端是 BooksPublishers 实体集。 Books 实体集中的 Bi 表示运行时的 Book 实体类型实例。 类似地,Pj 表示 Publishers 实体集中的 Publisher 实例。 BiPj 表示 PublishedBy 关联集中的 PublishedBy 关联实例。

Screenshot that shows a Sets example.

ADO.NET 实体框架使用一种称为概念架构定义语言 (CSDL) 的 DSL 来定义概念模型。 下面的 CSDL 定义了一个实体容器,其中对于上图所示的每个关联都有一个关联集。 请注意,关联集端定义为每个关联集定义的一部分。

<EntityContainer Name="BooksContainer" >
  <EntitySet Name="Books" EntityType="BooksModel.Book" />
  <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
  <EntitySet Name="Authors" EntityType="BooksModel.Author" />
  <AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Publisher" EntitySet="Publishers" />
  </AssociationSet>
  <AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Author" EntitySet="Authors" />
  </AssociationSet>
</EntityContainer>

请参阅