關聯 End 多重性

關聯端多重性定義可在關聯其中一端定義的實體類型執行個體數目。

關聯 End 多重性可以具有下列其中一個值:

  • 一 (1):表示關聯 End 只存在唯一的一個實體類型執行個體。

  • 零或一 (0..1):表示關聯 End 具有零個或一個實體類型執行個體。

  • 許多 (*):表示關聯 End 具有零個、一個或多個實體類型執行個體。

關聯通常以其關聯 End 多重性來區分。 例如,如果關聯的 End 具有多重性一 (0) 和許多 (*),則該關聯稱為一對多關聯。 在下列範例中,PublishedBy 關聯集為一對多關聯 (一個發行者發行許多書籍,以及一本書籍由一個發行者發行)。 WrittenBy 關聯式多對多關聯 (一本書可以有多位作者,一位作者可以撰寫許多本書)。

範例

下圖顯示包含兩個關聯 (PublishedByWrittenBy) 的概念模型。 PublishedBy 關聯的關聯 End 為 BookPublisher 實體類型。 Publisher 端的多重性是一 (1),而 Book 端的多重性則是多個 (*)。

Example model with three entity types

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>

另請參閱