Visual Studio 中的 LINQ to SQL 工具支援單一資料表繼承,因為它通常是在關聯式系統中實作。 本逐步解說擴充了 如何:使用 O/R 設計工具設定繼承 主題中提供的一般步驟,並提供一些實際資料來示範如何在 O/R 設計工具中使用繼承。
在這次逐步解說中,您將執行以下工作:
建立資料庫表格,並將資料新增至其中。
建立 Windows Forms 應用程式。
將 LINQ to SQL 檔案新增至專案。
建立新的實體類別。
將實體類別配置為使用繼承。
查詢繼承的類別。
在 Windows 表單上顯示資料。
建立繼承用的資料表
若要查看繼承的運作方式,您可以建立一個小型 Person 資料表,將其用作基類,然後建立從 Employee 其繼承的物件。
建立基底資料表以示範繼承
在 [伺服器總管] 或 [資料庫總管] 中,以滑鼠右鍵按一下 [資料表] 節點,然後按一下 [新增資料表]。
備註
您可以使用 Northwind 資料庫或任何其他可新增資料表的資料庫。
在 資料表設計工具中,將下列資料行新增至資料表:
欄位名稱 數據類型 允許空值 識別碼 int 假 Type int 真實 名字 nvarchar(200) 假 姓氏 nvarchar(200) 假 經理 int 真實 將 ID 欄設定為主鍵。
儲存表格並將其命名為 Person。
將資料新增至表格
為了驗證繼承是否已正確配置,表格需要在單一表繼承中為每個類別提供一些資料。
將資料新增至表格
在資料檢視中開啟表格。 (以滑鼠右鍵按一下 [伺服器總管] 或 [資料庫總管] 中的 [人員] 資料表,然後按一下 [顯示資料表資料]。
將下列資料複製到表格中。 (您可以複製它,然後通過選擇 結果窗格 中的整列將其粘貼到表格中。
識別碼 Type 名字 姓氏 經理 1 1 安妮 華萊士 NULL 2 1 卡洛斯 格里洛 NULL 3 1 亞爾 佩萊德 NULL 4 2 加蒂斯 奧唑林 1 5 2 安德烈亞斯 豪瑟 1 6 2 蒂芙尼 普夫鈉 1 7 2 阿列克謝 奧列霍夫 2 8 2 米哈烏 波利斯凱維奇 2 9 2 泰 是 2 10 2 法布里西奧 諾列加 3 11 2 明迪 馬丁 3 12 2 肯 郭 3
建立新專案
現在您已建立表格,請建立新專案來示範設定繼承。
建立新的 Windows Forms 應用程式
在 Visual Studio 中,於 [檔案] 功能表上選取 [新增]>[專案]。
展開左側窗格中的 [Visual C#] 或 [Visual Basic],然後選取 [Windows 桌面]。
在中間窗格中,選取 [Windows Forms 應用程式 ] 專案類型。
將專案命名為 InheritanceWalkthrough,然後選擇 [確定]。
InheritanceWalkthrough 專案隨即建立,並新增至 [方案總管]。
將 LINQ to SQL 類別檔案新增至專案
將 LINQ to SQL 檔案新增至專案
在 [專案] 功能表上,按一下 [新增專案]。
按一下 [LINQ to SQL 類別] 範本,然後選取 [新增]。
.dbml檔案會新增至專案,並開啟 O/R 設計工具。
使用 O/R 設計工具建立繼承
將 Inheritance 物件從 [工具箱 ] 拖曳到設計介面,以設定繼承。
創建繼承關係
在 [伺服器總管] 或 [資料庫總管] 中,流覽至您稍早建立的 [人員] 資料表。
將 [人員] 資料表拖曳至 O/R 設計工具 設計介面。
將第二個 Person 資料表拖曳到 O/R Designer 上,並將其名稱變更為 Employee。
從 Person 物件中刪除 Manager 屬性。
從 Employee 物件中刪除 Type、ID、FirstName 和 LastName 屬性。 (換句話說,刪除 除 Manager 之外的所有屬性。
從 [工具箱] 的 [物件關聯設計師] 索引標籤中,在 [人員] 和 [員工] 物件之間建立 [繼承關係]。 若要這樣做,請按一下 [工具箱] 中的 [繼承] 項目,然後放開滑鼠按鈕。 接下來,按一下 [員工] 物件,然後按一下 [O/R 設計工具] 中的 [人員] 物件。 繼承行上的箭頭接著會指向 Person 物件。
按一下設計畫面上的繼承行。
將 [鑑別器屬性] 屬性設定為 [類型]。
將 衍生類別鑑別值 屬性設定為 2。
將 [基底類別鑑別值] 屬性設定為 1。
將 繼承預設 屬性設定為 Person。
建置專案。
查詢繼承的類別,並在表單上顯示資料
您現在將一些程式碼新增至表單,以查詢物件模型中的特定類別。
建立 LINQ 查詢並在表單上顯示結果
將 ListBox 拖曳至 Form1。
按兩下表單以建立
Form1_Load事件處理常式。將下列程式碼加入至
Form1_Load事件處理常式:
測試應用程式
執行應用程式,並確認清單方塊中顯示的記錄都是員工 ( 其類型 欄中值為 2 的記錄)。
測試應用程式
按 F5。
確認只顯示其 「類型 」欄中值為 2 的記錄。
關閉表單。 (在 [偵錯] 功能表上,按一下 [停止偵錯]。