次の方法で共有


DataSet スキーマの推論プロセスの概要

推論プロセスでは、まず、テーブルとして推論する XML ドキュメントの要素を決定します。XML ドキュメントの残りの要素から、それらのテーブルの列が推論によって決定されます。入れ子状のテーブルの場合は、入れ子になった DataRelation オブジェクトと ForeignKeyConstraint オブジェクトが生成されます。

推論規則について、次に簡単に説明します。

  • 属性を持つ要素は、テーブルとして推論されます。
  • 子の要素を持つ要素は、テーブルとして推論されます。
  • 繰り返し出現する要素は、単一のテーブルとして推論されます。
  • ドキュメント (ルート) 要素に属性がなく、列として推論される子の要素もない場合、その要素は DataSet として推論されます。それ以外の場合は、ドキュメント要素はテーブルとして推論されます。
  • 属性は、列として推論されます。
  • 属性または子の要素を持たず、繰り返し出現することもない要素は、列として推論されます。
  • テーブルとして推論される要素が、同じくテーブルとして推論される他の要素の内部に入れ子になっている場合は、その 2 つのテーブル間に入れ子になった DataRelation が作成されます。その場合、"TableName_Id" という名前の新しい主キー列が 2 つのテーブルに追加され、DataRelation によって使用されます。この "TableName_Id" 列を使用して、2 つのテーブル間に ForeignKeyConstraint が作成されます。
  • テーブルとして推論される要素に、テキストは含まれているが子の要素は含まれていない場合は、"TableName_Text" という名前の新しい列が各要素のテキストに対して作成されます。テーブルとして推論される要素にテキストだけでなく、子の要素もある場合、テキストは無視されます。

参照

XML からの DataSet リレーショナル構造の推論 | XML からの DataSet の読み込み | XML の DataSet スキーマ情報の読み込み | XML と DataSet | DataSet の作成および使用