關聯類型
關聯類型 (亦稱為關聯) 是在實體資料模型 (EDM) 描述關聯的基本組建區塊。 在概念模型,關聯代表兩個實體類型 (例如 Customer
和 Order
) 之間的關聯性。 在應用程式中,關聯的執行個體代表特定的關聯 (例如 Customer
執行個體和 Order
執行個體之間的關聯)。 關聯執行個體會在邏輯上群組於關聯集。
關聯定義包含下列資訊:
唯一名稱。 (必要項)
兩個關聯端點,關聯性的每個實體類型各一個。 (必要項)
注意
一個關聯 (association) 不能代表兩個實體型別以上的關聯性 (relationship)。 不過,關聯可以為其每一個關聯 End 指定同樣的實體型別,以定義自我關聯性。
參考完整性限制式。 (選擇性)
每個關聯端點必須指定關聯端點多重性,代表可在關聯其中一端的實體類型執行個體數量。 關聯 End 多重性的值可以是一 (0)、零或一 (0..1),或許多 (*)。 關聯其中一端的實體類型執行個體可透過導覽屬性或外部索引鍵來存取 (若在實體類型上公開)。 如需詳細資訊,請參閱實體資料模型:外部索引鍵。
範例
下圖顯示包含兩個關聯 (PublishedBy
和 WrittenBy
) 的概念模型。 PublishedBy
關聯的關聯 End 為 Book
和 Publisher
實體類型。 Publisher
End 的多重性是 (1),而 Book
End 的多重性是許多 (*),表示一個發行者發行許多書籍,而一本書籍由一個發行者發行。
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>