LINQ to SQL實體類淺析
在向大家詳細介紹LINQ to SQL實體類之前,首先讓大家了解下關(guān)聯(lián)的屬性說明,然后全面介紹LINQ to SQL實體類之間的關(guān)聯(lián)。
LINQ to SQL實體類之間的關(guān)聯(lián)類似于數(shù)據(jù)庫中表之間的關(guān)系。可以使用“關(guān)聯(lián)編輯器” 對話框創(chuàng)建實體類之間的關(guān)聯(lián)。
使用“關(guān)聯(lián)編輯器” 對話框創(chuàng)建關(guān)聯(lián)時,必須選擇父類和子類。父類是包含主鍵的實體類;子類是包含外鍵的實體類。例如,如果創(chuàng)建映射到 Northwind Customers 和 Orders 表的實體類,則 Customer 類將是父類,而 Order 類將是子類。
將表從“服務(wù)器資源管理器” /“數(shù)據(jù)庫資源管理器” 拖動到對象關(guān)系設(shè)計器(O/R 設(shè)計器)上時,將根據(jù)數(shù)據(jù)庫中現(xiàn)有的外鍵關(guān)系自動創(chuàng)建關(guān)聯(lián)。
創(chuàng)建關(guān)聯(lián)后,當(dāng)您在 O/R 設(shè)計器中選擇該關(guān)聯(lián)時,“屬性” 窗口中將有一些可配置屬性。(關(guān)聯(lián)是用相關(guān)類之間的連線表示的。)下表提供對關(guān)聯(lián)的屬性說明。
關(guān)聯(lián)的屬性說明
◆基數(shù):控制關(guān)聯(lián)是一對多關(guān)系還是一對一關(guān)系。
◆子屬性:指定是否在父類上創(chuàng)建一個屬性,作為關(guān)聯(lián)關(guān)系外鍵一方上的子記錄的集合或?qū)@些子記錄的引用。例如,在 Customer 和 Order 之間的關(guān)聯(lián)中,如果“子屬性” 設(shè)置為“True” ,則將在父類上創(chuàng)建一個名為 Orders 的屬性。
◆父屬性:子類上引用關(guān)聯(lián)父類的屬性。例如,在 Customer 和 Order 之間的關(guān)聯(lián)中,在 Order 類上創(chuàng)建一個名為 Customer 的屬性,用來引用與訂單關(guān)聯(lián)的客戶。
◆參與屬性:顯示關(guān)聯(lián)屬性,并提供一個“省略號” 按鈕 (...),該按鈕可重新打開“關(guān)聯(lián)編輯器” 對話框。
◆唯一:指定外目標(biāo)列是否具有唯一性約束。
創(chuàng)建實體類之間的關(guān)聯(lián):
1.右擊表示關(guān)聯(lián)中的父類的實體類,指向“添加” ,然后單擊關(guān)聯(lián) 。
2.驗證在“關(guān)聯(lián)編輯器” 對話框中是否選擇了正確的“父類” 。
3.選擇組合框中的“子類” 。
4.選擇實現(xiàn)類之間的關(guān)聯(lián)的“關(guān)聯(lián)屬性” 。通常,這種關(guān)聯(lián)對應(yīng)于數(shù)據(jù)庫中定義的外鍵關(guān)系。例如,在 Customers 和 Orders 關(guān)聯(lián)中,“關(guān)聯(lián)屬性” 是每個類的 CustomerID。
5.單擊“確定” 創(chuàng)建關(guān)聯(lián)。
以上介紹LINQ to SQL實體類之間的關(guān)聯(lián)
【編輯推薦】