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

注釈

A DataRelation 2 つの関連付けに使用がDataTableオブジェクトを介して相互にDataColumnオブジェクト。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. 子の行で値を変更する方法を制御するには、追加、ForeignKeyConstraintConstraintCollectionDataTableオブジェクト。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. 双方向の関係から成る 2 つDataRelationスイッチ、親子の役割を持つ、同じ列を使用するオブジェクト。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のプロパティ、 DataSet、およびChildRelationsParentRelationsのプロパティ、 DataTableDataRelation 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.

こちらもご覧ください