關聯端會識別關聯一端的實體類型,以及存在於關聯端的實體類型實例數目。 關聯端點定義為關聯的一部分;關聯必須恰好有兩個關聯端點。 瀏覽屬性 允許從一個關聯端流覽到另一個關聯端。
關聯結束定義包含下列資訊:
關聯中涉及的一個實體類型。 (必要項)
備註
針對指定的關聯,為每個關聯端指定的實體類型可以相同。 這會創造一種自我關聯。
關聯端多重性,表示可以在關聯一端的實體類型實例數目。 關聯端多重性可以有一個值(一)、零或一(0..1),或多個(*)。
關聯端點的名稱。 (選擇性)
有關關聯端所執行的操作的信息,例如在刪除時的串聯操作。 (選擇性)
範例
下圖顯示具有兩個關聯的概念模型: PublishedBy
和 WrittenBy
。 關聯的結尾 PublishedBy
是 Book
和 Publisher
實體類型。 結尾的 Publisher
乘數是一(1),而結尾的 Book
乘數是許多 ,表示發行者發行許多書籍,一家出版社出版一本書。
ADO.NET Entity Framework 會使用稱為概念架構定義語言 (CSDL) 的網域特定語言 (DSL) 來定義概念模型。 下方 CSDL 定義了前圖所示的PublishedBy
關聯。 請注意,每個關聯端的類型、名稱和多重性都是由 XML 屬性指定( Type
分別為 、 Role
和 Multiplicity
屬性)。 在 XML 元素 (OnDelete
元件) 中指定有關在末端執行操作的可選資訊。 在此情況下,如果刪除發行者,則所有相關聯的書籍也是如此。
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
<OnDelete Action="Cascade" />
</End>
</Association>