關聯 End 多重性
關聯端多重性定義可在關聯其中一端定義的實體類型執行個體數目。
關聯 End 多重性可以具有下列其中一個值:
一 (1):表示關聯 End 只存在唯一的一個實體類型執行個體。
零或一 (0..1):表示關聯 End 具有零個或一個實體類型執行個體。
許多 (*):表示關聯 End 具有零個、一個或多個實體類型執行個體。
關聯通常以其關聯 End 多重性來區分。 例如,如果關聯的 End 具有多重性一 (0) 和許多 (*),則該關聯稱為一對多關聯。 在下列範例中,PublishedBy
關聯集為一對多關聯 (一個發行者發行許多書籍,以及一本書籍由一個發行者發行)。 WrittenBy
關聯式多對多關聯 (一本書可以有多位作者,一位作者可以撰寫許多本書)。
範例
下圖顯示包含兩個關聯 (PublishedBy
和 WrittenBy
) 的概念模型。 PublishedBy
關聯的關聯 End 為 Book
和 Publisher
實體類型。 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>