關聯 End
關聯 End 會識別關聯其中一端的實體類型,以及關聯其中一端可存在的實體類型執行個體數量。 關聯 End 會定義為關聯的部分。關聯必須具有兩個關聯 End。 導覽屬性允許從一個關聯 End 導覽至另一個關聯 End。
關聯 End 定義包含下列資訊:
關聯中相關的其中一個屬性類型。 (必要項)
注意
若為指定關聯,各關聯的指定實體類型可以相同。 這樣會建立自我關聯。
關聯 End 多重性表示可在關聯同一端的實體類型執行個體數量。 關聯 End 多重性的值可以是一 (0)、零或一 (0..1),或許多 (*)。
關聯 End 的名稱。 (選擇性)
在關聯 End 中所執行的作業相關資訊,例如刪除時的重疊顯示。 (選擇性)
範例
下圖顯示包含兩個關聯 (PublishedBy
和 WrittenBy
) 的概念模型。 PublishedBy
關聯的關聯 End 為 Book
和 Publisher
實體類型。 Publisher
End 的多重性是 (1),而 Book
End 的多重性是許多 (*),表示一個發行者發行許多書籍,而一本書籍由一個發行者發行。
ADO.NET Entity Framework 會使用稱為概念結構定義語言 (CSDL) 的特定領域語言 (DSL) 來定義概念模型。 下列的 CSDL 會定義上圖顯示的 PublishedBy
關聯。 請注意,各個關聯 End 的類型、名稱和多重性是由 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>