資料類別繼承 (O/R 設計工具)
LINQ to SQL 類別就像其他物件,可以使用繼承,也可以衍生自其他類別。 在程式碼中,您可以宣告某個類別是繼承自其他類別,指定物件之間的繼承關聯性。 在資料庫中,有數種方式可以建立繼承關聯性。 物件關聯式設計工具 (O/R 設計工具) 通常是在關聯式系統中實作,因此支援單一資料表繼承概念。
在單一資料表繼承中,有一種單一資料庫資料表,它包含了基底和衍生類別的資料行。 使用關聯式資料時,鑑別子資料行所含的值會決定某筆記錄所屬的類別 (Class)。 例如,假設有個 Persons 資料表包含某家公司雇用的所有人員。 有些人是員工,而有些人是經理。 這個 Persons 資料表包含名為 Type 的資料行 (其中值為 1 代表經理,值為 2 代表員工)。 Type 資料行就是鑑別子資料行。 在這個案例中,您可以建立員工子類別 (Subclass),並且只將 Type 值為 2 的記錄填入 (Populate) 這個類別。
當您使用 O/R 設計工具在實體類別中設定繼承時,請將包含繼承資料的單一資料表拖曳至設計工具兩次:繼承階層架構 (Inheritance Hierarchy) 中的每個類別各一次。 將資料表加入至設計工具之後,請使用 [物件關聯式設計工具] 工具箱的 [繼承] 項目連接這些資料表,然後在 [屬性] 視窗中設定四個繼承屬性。
繼承屬性
下表列出繼承屬性及其描述:
屬性 |
描述 |
---|---|
鑑別子屬性 |
這個屬性 (對應至資料行) 會判斷目前記錄所屬的類別。 |
基底類別鑑別子值 |
這個值 (在指定為鑑別子屬性的資料行中) 會判斷記錄是否為基底類別。 |
衍生類別鑑別子值 |
這個值 (在指定為鑑別子屬性的屬性中) 會判斷記錄是否為衍生類別。 |
繼承預設值 |
當指定為 [鑑別子屬性] 的屬性值不符合 [基底類別鑑別子值] 或 [衍生類別鑑別子值] 時,所應填入的類別。 |
建立使用繼承並對應至關聯式資料的物件模型在過程上較為複雜。 本主題提供設定繼承時,所需之基本概念和個別屬性的相關資訊。 下列主題則對於如何使用 O/R 設計工具設定繼承,提供了更清楚的說明。
主題 |
描述 |
---|---|
說明如何透過 O/R 設計工具,設定使用單一資料表繼承的實體類別。 |
|
提供逐步指示,說明如何透過 O/R 設計工具,設定使用單一資料表繼承的實體類別。 |
請參閱
工作
逐步解說:建立 LINQ to SQL 類別 (O/R 設計工具)
逐步解說:使用單一資料表繼承建立 LINQ to SQL 類別 (O/R 設計工具)