DataRelation クラス
アセンブリ: System.Data (system.data.dll 内)
構文
解説
DataRelation は、DataColumn オブジェクトを通じて 2 つの DataTable オブジェクトを相互に関連付けるために使用されます。たとえば、Customer/Orders のリレーションシップでは、Customers テーブルがこのリレーションシップの親であり、Orders テーブルが子です。これは、主キー/外部キーのリレーションシップに似ています。詳細については、「テーブル間のリレーションシップの移動」を参照してください。
リレーションシップは、親テーブル内と子テーブル内の一致する列の間に作成されます。つまり、両方の列の DataType 値が同じである必要があります。
リレーションシップによって、親 DataRow から子行へ連鎖変更を行うこともできます。子行の値の変更方法を制御するには、ForeignKeyConstraint を DataTable オブジェクトの ConstraintCollection に追加します。ConstraintCollection は、親テーブル内の値が削除または更新されたときに実行されるアクションを決定します。
DataRelation が作成されると、最初に、このリレーションシップを設定できるかどうかを検証します。DataRelationCollection に追加された後、リレーションシップは、無効にしてしまうような変更を一切できないようにすることで保持されます。DataRelation が作成されてから、DataRelationCollection に追加されるまでの間に、親行または子行に追加変更を行うことができます。変更の結果、リレーションシップが無効になった場合は例外が生成されます。
DataRelation オブジェクトは DataRelationCollection に格納されます。このオブジェクトにアクセスするには、DataSet の Relations プロパティ、および DataTable の ChildRelations プロパティと ParentRelations プロパティを使用します。
新しい DataRelation を作成し、DataSet の DataRelationCollection に追加する例を次に示します。
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
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.Data.DataRelation
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- DataRelation クラスのページへのリンク