次の方法で共有


DataRelations の追加

複数のDataSet オブジェクトを持つDataTableでは、DataRelation オブジェクトを使用して、1 つのテーブルを別のテーブルに関連付けたり、テーブル間を移動したり、関連するテーブルから子行または親行を返したりすることができます。

DataRelation の作成に必要な引数は、作成される DataRelation の名前と、リレーションシップの親列と子列として機能する列への 1 つ以上のDataColumn参照の配列です。 DataRelation を作成したら、それを使用してテーブル間を移動し、値を取得できます。

DataRelationDataSetに追加すると、既定では親テーブルにUniqueConstraintが追加され、子テーブルにForeignKeyConstraintが追加されます。 これらの既定の制約の詳細については、「 DataTable 制約」を参照してください。

次のコード例では、内の 2 つのDataTable オブジェクトを使用して DataSet を作成します。 各DataTableには、2 つの オブジェクト間のリンクとして機能する DataTable という名前の列が含まれています。 この例では、Relations コレクションに 1 つの DataSet を追加します。 この例の最初の引数は、作成する DataRelation の名前を指定します。 2 番目の引数は親 DataColumn を設定し、3 番目の引数は子 DataColumn を設定します。

customerOrders.Relations.Add("CustOrders", _  
  customerOrders.Tables("Customers").Columns("CustID"), _  
  customerOrders.Tables("Orders").Columns("CustID"))  
customerOrders.Relations.Add("CustOrders",  
  customerOrders.Tables["Customers"].Columns["CustID"],  
  customerOrders.Tables["Orders"].Columns["CustID"]);  

DataRelation には入れ子になったプロパティもあります。このプロパティを true に設定すると、WriteXml を使用して XML 要素として書き込まれるときに、親テーブルの関連付けられた行内で子テーブルの行が入れ子になります。 詳細については、「 DataSet での XML の使用」を参照してください。

こちらも参照ください