DataRelation 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示兩個 DataTable 物件之間的父子關聯性。
public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
public class DataRelation
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
type DataRelation = class
type DataRelation = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
[<System.Serializable>]
type DataRelation = class
Public Class DataRelation
- 繼承
-
DataRelation
- 屬性
範例
下列範例會建立新的 DataRelation ,並將其新增至 DataRelationCollection 的 DataSet 。
private void CreateRelation()
{
// Get the DataColumn objects from two DataTable objects
// in a DataSet. Code to get the DataSet not shown here.
DataColumn parentColumn =
DataSet1.Tables["Customers"].Columns["CustID"];
DataColumn childColumn =
DataSet1.Tables["Orders"].Columns["CustID"];
// Create DataRelation.
DataRelation relCustOrder;
relCustOrder = new DataRelation("CustomersOrders",
parentColumn, childColumn);
// Add the relation to the DataSet.
DataSet1.Relations.Add(relCustOrder);
}
Private Sub CreateRelation()
' Get the DataColumn objects from two DataTable objects
' in a DataSet. Code to get the DataSet not shown here.
Dim parentColumn As DataColumn = _
DataSet1.Tables("Customers").Columns("CustID")
Dim childColumn As DataColumn = DataSet1.Tables( _
"Orders").Columns("CustID")
' Create DataRelation.
Dim relCustOrder As DataRelation
relCustOrder = New DataRelation( _
"CustomersOrders", parentColumn, childColumn)
' Add the relation to the DataSet.
DataSet1.Relations.Add(relCustOrder)
End Sub
備註
DataRelation用來透過 DataColumn 物件讓兩 DataTable 個物件彼此產生關聯。 例如,在 Customer/Orders 關聯性中,Customers 資料表是父系,而 Orders 資料表是關聯性的子系。 這類似于主鍵/外鍵關聯性。 如需詳細資訊,請參閱 巡覽 DataRelations。
在父資料表和子資料工作表中的相符資料行之間建立關聯性。 也就是說, DataType 這兩個數據行的值必須相同。
關聯性也可以串聯從父 DataRow 資料列到其子資料列的各種變更。 若要控制子資料列中的值變更方式,請將 加入 ForeignKeyConstraintConstraintCollectionDataTable 至 物件的 。 決定 ConstraintCollection 刪除或更新父資料表中的值時要採取的動作。
DataRelation建立 時,它會先確認可以建立關聯性。 將它新增至 DataRelationCollection 之後,會藉由不允許任何將它失效的變更來維護關聯性。 在建立並加入 至 DataRelationCollection 的 DataRelation 期間之間,可能會對父資料列或子資料列進行其他變更。 如果造成不再有效的關聯性,就會產生例外狀況。
注意
如果兩個數據表之間定義了雙向關聯,就會發生資料損毀。 雙向關聯是由兩 DataRelation
個使用相同資料行的物件所組成,其中已切換父子角色。 儲存物件時 DataRelation
不會引發例外狀況;不過,可能會發生資料損毀。
DataRelation物件包含在 中 DataRelationCollection ,您可以透過 Relations 的 DataSet 屬性和 ChildRelations 的 DataTable 和 ParentRelations 屬性來存取。
建構函式
DataRelation(String, DataColumn, DataColumn) |
使用指定的 DataRelation 名稱以及父和子 DataRelation 物件,初始化 DataColumn 類別的新執行個體。 |
DataRelation(String, DataColumn, DataColumn, Boolean) |
使用指定的名稱、父和子 DataRelation 物件,以及指出是否建立條件約束 (Constraint) 的值,初始化 DataColumn 類別的新執行個體。 |
DataRelation(String, DataColumn[], DataColumn[]) |
使用指定的 DataRelation 名稱以及父和子 DataRelation 物件的相符陣列,初始化 DataColumn 類別的新執行個體。 |
DataRelation(String, DataColumn[], DataColumn[], Boolean) |
使用指定的名稱、父和子 DataRelation 物件的相符陣列,以及指出是否建立條件約束的值,初始化 DataColumn 類別的新執行個體。 |
DataRelation(String, String, String, String, String, String[], String[], Boolean) |
這個建構函式是在 Visual Studio 環境中,針對支援設計階段而提供。 |
DataRelation(String, String, String, String[], String[], Boolean) |
這個建構函式是在 Visual Studio 環境中,針對支援設計階段而提供。 |
屬性
ChildColumns |
取得這個關聯的子 DataColumn 物件。 |
ChildKeyConstraint |
取得關聯的 ForeignKeyConstraint。 |
ChildTable |
取得這個關聯的子資料表。 |
DataSet |
取得 DataSet 所屬的 DataRelation。 |
ExtendedProperties |
取得儲存自訂屬性的集合。 |
Nested |
取得或設定值,指出 DataRelation 物件是否為巢狀。 |
ParentColumns |
取得為這個 DataColumn 父資料行的 DataRelation 物件陣列。 |
ParentKeyConstraint |
取得 UniqueConstraint,確保 DataRelation 之父資料行中的值為唯一。 |
ParentTable |
取得這個 DataTable 的 DataRelation。 |
RelationName |
取得或設定用來從 DataRelation 擷取 DataRelationCollection 的名稱。 |
方法
CheckStateForProperty() |
這個方法支援 .NET 基礎結構,不適合直接從您的程式碼使用。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
OnPropertyChanging(PropertyChangedEventArgs) |
這個成員支援 .NET 基礎結構,而且不適合直接從程式碼使用。 |
RaisePropertyChanging(String) |
這個成員支援 .NET 基礎結構,而且不適合直接從程式碼使用。 |
ToString() |
取得 RelationName (如果關聯名稱存在)。 |
適用於
執行緒安全性
此類型適用于多執行緒讀取作業。 您必須同步處理任何寫入作業。