Visual Studio 2008 から、型指定されたデータセットは、TableAdapterManager コンポーネントによって強化されています。 TableAdapterManager により、複数の関連するテーブルにデータを保存するために必要なコードが、多数のコード行を含む複数のルーチンから、TableAdapterManager.UpdateAll(TypedDataset) という単一のメソッド呼び出しに減少します。 プロジェクトで追加または作成されたすべての新しいデータセットでは、階層更新が既定で有効になっています。 既存のデータセット (Visual Studio 2008 以前のバージョンの Visual Studio で作成されたデータセット) には TableAdapterManager コンポーネントがありません。 したがって、旧バージョンで作成されたデータセットは、既定で "階層更新" プロパティが False に設定されています。 TableAdapterManager コンポーネントを生成するには、"階層更新" プロパティを True に設定してデータセットを保存します。 詳細については、「TableAdapterManager の概要」を参照してください。

階層更新を有効にして TableAdapterManager コンポーネントを生成する

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Customizing Development Settings in Visual Studio」を参照してください。

以前のバージョンの型指定されたデータセットで階層更新を有効にするには

  1. 型指定されたデータセットが含まれているプロジェクトを Visual Studio で開きます。

  2. Visual Studio 変換ウィザードを完了します。

  3. ソリューション エクスプローラーで .xsd ファイルをダブルクリックして、型指定されたデータセットの作成と編集でデータセットを開きます。

  4. データセット デザイナーの空の領域をクリックします。

  5. [プロパティ] ウィンドウ"階層更新" プロパティを探します。

  6. "階層更新" プロパティの値を True に設定します。

  7. [ビルド] メニューの [ソリューションのビルド] をクリックします。

TableAdapterManager を構成してデータを保存する

"階層更新" プロパティを True に設定してデータセットを保存すると、階層更新を可能にする TableAdapterManager コンポーネントが生成されます。 TableAdapterManager コンポーネントを生成したら、新しい TableAdapterManager をインスタンス化するように既存のコードを更新し、個々の TableAdapter.Update() メソッドの代わりに TableAdapterManager.UpdateAll() メソッドを呼び出します。 既存の TableAdapter コードがクラス ライブラリ (またはユーザー インターフェイスのないいずれかのファイル) にある場合は、プログラムによって新しい TableAdapterManager をインスタンス化する必要があります。 既存の TableAdapter コードがフォームにある場合は、ツールボックスからフォームに TableAdapterManager コンポーネントをドラッグすることによって、新しい TableAdapterManager をインスタンス化できます。

TableAdapterManager は厳密に型指定されたコンポーネントです。つまり、生成時に、管理対象の個々の TableAdapter を参照するプロパティを設定することになります。 TableAdapterManager をインスタンス化したら、個々の TableAdapter プロパティを各 TableAdapter のインスタンスに設定します。以下のプロシージャを参照してください。

ユーザー インターフェイスのない既存のプロジェクトに TableAdapterManager を追加するには

  1. TableAdapter.Update メソッドを呼び出すコード (たとえば CustomersTableAdapter.Update(NorthwindDataSet.Customers)) を探します。

  2. 個々の TableAdapter.Update メソッドを呼び出すコードを以下のコードで置き換えます。

    Dim adapterManager as new TableAdapterManager
    adapterManager.TableName1TableAdapter = new _
    TableName1TableAdapter
    adapterManager.TableName2TableAdapter = new _
    TableName2TableAdapter
    
    adapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager adapterManager = 
    new TableAdapterManager();
    
    adapterManager.TableName1TableAdapter = 
    new TableName1TableAdapter();
    adapterManager.TableName2TableAdapter = 
    new TableName2TableAdapter();
    
    adapterManager.UpdateAll(this.DataSetName);
    

ユーザー インターフェイスのある既存のプロジェクトに TableAdapterManager を追加するには

  1. デザイン ビューでフォームを開きます。

  2. ツールボックス からフォームに TableAdapterManager コンポーネントをドラッグします。

  3. TableAdapter.Update メソッドを呼び出すコード (たとえば CustomersTableAdapter.Update(NorthwindDataSet.Customers)) を探します。

  4. 個々の TableAdapter.Update メソッドを呼び出すコードを以下のコードで置き換えます。

    Me.TableAdapterManager.TableName1TableAdapter = _
    new DatasetNameTableAdapters.TableName1TableAdapter
    Me.TableAdapterManager.TableName2TableAdapter = _
    new DatasetNameTableAdapters.TableName2TableAdapter
    
    Me.TableAdapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager.TableName1TableAdapter = new 
    TableName1TableAdapter();
    TableAdapterManager.TableName2TableAdapter = new 
    TableName2TableAdapter();
    
    TableAdapterManager.UpdateAll(this.DataSetName);
    

参照

概念

階層更新の概要

TableAdapterManager の概要