关联集端

关联集端用于标识关联集末尾的实体类型实体集。 关联集合端点是关联集合的一部分;一个关联集合必须正好有两个关联集合端点。

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

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

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

示例:

下图显示了一个概念模型,其中包含两个关联: WrittenByPublishedBy

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

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

显示“Sets”示例的屏幕截图。

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>

另请参阅