クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework
System.Data 名前空間
DataRelation クラス
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework クラス ライブラリ
DataRelation クラス

2 つの DataTable オブジェクト間の親子のリレーションシップを表します。

名前空間 :  System.Data
アセンブリ :  System.Data (System.Data.dll 内)

Visual Basic (宣言)
Public Class DataRelation
Visual Basic (使用法)
Dim instance As DataRelation
C#
public class DataRelation
Visual C++
public ref class DataRelation
J#
public class DataRelation
JScript
public class DataRelation

DataRelation は、DataColumn オブジェクトを通じて 2 つの DataTable オブジェクトを相互に関連付けるために使用されます。たとえば、Customer/Orders のリレーションシップでは、Customers テーブルがこのリレーションシップの親であり、Orders テーブルが子です。これは、主キー/外部キーのリレーションシップに似ています。詳細については、「DataRelation の移動 (ADO.NET)」を参照してください。

リレーションシップは、親テーブル内と子テーブル内の一致する列の間に作成されます。つまり、両方の列の DataType 値が同じである必要があります。

リレーションシップによって、親 DataRow から子行へ連鎖変更を行うこともできます。子行の値の変更方法を制御するには、ForeignKeyConstraintDataTable オブジェクトの ConstraintCollection に追加します。ConstraintCollection は、親テーブル内の値が削除または更新されたときに実行されるアクションを決定します。

DataRelation が作成されると、最初に、このリレーションシップを設定できるかどうかを検証します。DataRelationCollection に追加された後、リレーションシップは、無効にしてしまうような変更を一切できないようにすることで保持されます。DataRelation が作成されてから、DataRelationCollection に追加されるまでの間に、親行または子行に追加変更を行うことができます。変更の結果、リレーションシップが無効になった場合は例外が生成されます。

DataRelation オブジェクトは DataRelationCollection に格納されます。このオブジェクトにアクセスするには、DataSetRelations プロパティ、および DataTableChildRelations プロパティと ParentRelations プロパティを使用します。

新しい DataRelation を作成し、DataSetDataRelationCollection に追加する例を次に示します。

Visual Basic
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

C#
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);
}

System..::.Object
  System.Data..::.DataRelation

この型は、マルチスレッド読み取り操作に対して安全です。すべての書き込み操作の同期をとる必要があります。

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework および .NET Compact Framework は、各プラットフォームのすべてのバージョンをサポートしていません。サポートされているバージョンの一覧については、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 3.5、2.0、1.0

XNA フレームワーク

サポート対象 : 1.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
Page view tracker