DataRelation DataRelation DataRelation DataRelation Class

定義

2 つの DataTable オブジェクト間の親子のリレーションシップを表します。Represents a parent/child relationship between two DataTable objects.

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
type DataRelation = class
Public Class DataRelation
継承
DataRelationDataRelationDataRelationDataRelation
属性

次の例では、 DataRelation新しいを作成し、 DataRelationCollectionDataSetに追加します。The following example creates a new DataRelation and adds it to the DataRelationCollection of a 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 、オブジェクトを介してDataTable DataColumn 2 つのオブジェクトを相互に関連付けるために使用されます。A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. たとえば、顧客と注文のリレーションシップでは、Customers テーブルが親であり、Orders テーブルがリレーションシップの子になります。For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. これは、主キー/外部キーのリレーションシップに似ています。This is similar to a primary key/foreign key relationship. 詳細については、「 datarelation の移動」を参照してください。For more information, see Navigating DataRelations.

リレーションシップは、親テーブルと子テーブルの一致する列の間に作成されます。Relationships are created between matching columns in the parent and child tables. つまり、 DataType両方の列の値が同一である必要があります。That is, the DataType value for both columns must be identical.

また、リレーションシップによって、親DataRowから子の行にさまざまな変更を連鎖させることもできます。Relationships can also cascade various changes from the parent DataRow to its child rows. 子行の値がどのように変更されるかForeignKeyConstraintを制御ConstraintCollectionするにDataTableは、をオブジェクトのに追加します。To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. ConstraintCollection 、親テーブルの値が削除または更新されたときに実行するアクションを決定します。The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

DataRelationが作成されると、最初にリレーションシップを確立できることを確認します。When a DataRelation is created, it first verifies that the relationship can be established. DataRelationCollection追加されたリレーションシップは、無効になる可能性がある変更を禁止することによって維持されます。After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. を作成してDataRelation DataRelationCollectionに追加した期間の間に、親または子の行に追加の変更が加えられる可能性があります。Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. これによって無効になったリレーションシップが発生すると、例外が生成されます。An exception is generated if this causes a relationship that is no longer valid.

注意

2つのテーブル間に双方向のリレーションシップが定義されていると、データの破損が発生する可能性があります。Data corruption can occur if a bi-directional relation is defined between two tables. 双方向の関係は、同じ列DataRelationを使用する2つのオブジェクトで構成され、親子ロールは切り替わります。A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. DataRelationオブジェクトが保存されるときに例外は発生しませんが、データの破損が発生する可能性があります。No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelationオブジェクトはDataRelationCollection、のRelationsプロパティDataSetParentRelations DataTable、のプロパティおよびプロパティを介してアクセスできるに含まれています。 ChildRelationsDataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the DataTable.

コンストラクター

DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn)

DataRelation 名、および親と子の DataRelation オブジェクトを指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean)

名前、親と子の DataRelation オブジェクト、および制約を作成するかどうかを示す値を指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[]) DataRelation(String, DataColumn[], DataColumn[])

DataRelation 名、および親と子で一致した DataRelation オブジェクトの配列を指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean) DataRelation(String, DataColumn[], DataColumn[], Boolean)

名前、親と子で一致した DataRelation オブジェクトの配列、および制約を作成するかどうかを示す値を指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String, String, String[], String[], Boolean)

このコンストラクターは、Visual Studio 環境でのデザイン時のサポートのために用意されています。This constructor is provided for design time support in the Visual Studio environment.

DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean) DataRelation(String, String, String, String[], String[], Boolean)

このコンストラクターは、Visual Studio 環境でのデザイン時のサポートのために用意されています。This constructor is provided for design time support in the Visual Studio environment.

プロパティ

ChildColumns ChildColumns ChildColumns ChildColumns

このリレーションシップの子 DataColumn オブジェクトを取得します。Gets the child DataColumn objects of this relation.

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

このリレーションシップの ForeignKeyConstraint を取得します。Gets the ForeignKeyConstraint for the relation.

ChildTable ChildTable ChildTable ChildTable

このリレーションシップの子テーブルを取得します。Gets the child table of this relation.

DataSet DataSet DataSet DataSet

DataSet が属する DataRelation を取得します。Gets the DataSet to which the DataRelation belongs.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

カスタマイズしたプロパティを格納するコレクションを取得します。Gets the collection that stores customized properties.

Nested Nested Nested Nested

DataRelation オブジェクトが入れ子になっているかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns ParentColumns ParentColumns ParentColumns

この DataColumn の親列である DataRelation オブジェクトの配列を取得します。Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint

UniqueConstraint の親列内の値が一意であることを保証する DataRelation を取得します。Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable ParentTable ParentTable ParentTable

この DataTable の親 DataRelation を取得します。Gets the parent DataTable of this DataRelation.

RelationName RelationName RelationName RelationName

DataRelation から DataRelationCollection を取得する名前を取得または設定します。Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

メソッド

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

このメソッドは、.NET Framework インフラストラクチャをサポートします。独自に作成したコードから直接使用するためのものではありません。This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs)

このメンバーは .NET Framework インフラストラクチャをサポートします。独自に作成したコードから直接使用するためのものではありません。This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String)

このメンバーは .NET Framework インフラストラクチャをサポートします。独自に作成したコードから直接使用するためのものではありません。This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString() ToString() ToString() ToString()

RelationName が存在する場合は、このリレーションシップの名前を取得します。Gets the RelationName, if one exists.

適用対象

スレッド セーフ

この型は、マルチスレッドの読み取り操作に対して安全です。This type is safe for multithreaded read operations. 書き込み操作はすべて同期する必要があります。You must synchronize any write operations.

こちらもご覧ください