共用方式為


建立 LINQ to SQL 類別之間的關聯 (O/R 設計工具)

LINQ to SQL 中實體類別 (Class) 之間的關聯,與資料庫中資料表之間的關聯性 (Relationship) 類似。 您可以使用 [關聯編輯器] 對話方塊建立實體類別之間的關聯。

使用 [關聯編輯器] 對話方塊建立關聯時,必須選取父類別和子類別。 父類別是包含主索引鍵的實體類別,而子類別是包含外部索引鍵的實體類別。 例如,如果要建立與 Northwind CustomersOrders 資料表對應的實體類別,則 Customer 類別會是父類別,而 Order 類別會是子類別。

注意

將資料表從 [伺服器總管] 或 [資料庫總管] 拖曳至 [物件關聯式設計工具] (O/R 設計工具) 時,會自動根據資料庫中的現有外部索引鍵關聯性建立關聯。

關聯屬性

建立關聯之後,當您在 [O/R 設計工具] 中選取該關聯時,[屬性] 視窗中會出現一些可設定的屬性。 (關聯就是相關類別之間的線條。)下表提供關聯屬性的說明。

屬性 說明
基數 控制關聯是一對多還是一對一。
子屬性 指定是否要在父代 (Parent) 上建立屬性,這個屬性是位於關聯的外部索引鍵端上之子記錄的集合或參考。 例如,在 CustomerOrder 之間的關聯中,如果 [子屬性] 設定為 [True],則父類別上會建立名為 Orders 的屬性。
Parent 屬性 子類別上參考相關父類別的屬性。 例如,在 CustomerOrder 之間的關聯中,Order 類別上會建立名為 Customer 的屬性,以參考與訂單關聯的客戶。
參與屬性 顯示關聯屬性,並提供 [省略符號] 按鈕 (...),以便重新開啟 [關聯編輯器] 對話框。
唯一 指定外部目標資料行是否具有唯一性條件約束 (Constraint)。

若要在實體類別之間建立關聯

  1. 以滑鼠右鍵按一下代表關聯中父類別的實體類別,指向 [新增],然後按一下 [關聯]

  2. 確認 [關聯編輯器] 對話方塊中選取的是正確的 [父類別]

  3. 選取下拉式方塊中的 [子類別]

  4. 選取使類別互相關聯的 [關聯屬性]。 通常,這會對應至資料庫中定義的外部索引鍵關聯性。 例如,在 CustomersOrders 的關聯中,關聯屬性是這兩個類別的 CustomerID

  5. 按一下 [確定] 建立關聯。