.NET Framework アプリケーションの開発用の Visual Studio データセット ツール
Note
データセットと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初期からのレガシ .NET Framework テクノロジです。 テクノロジが特に役立つのは、ユーザーがデータを変更し、変更をデータベースに戻して保持できるようにするアプリケーションです。 データセットは非常に優れたテクノロジであることが証明されていますが、新しい .NET アプリケーションでは Entity Framework Core を使用することをお勧めしています。 Entity Framework には、オブジェクト モデルとして表形式データを操作する、より自然な方法が用意されており、よりシンプルなプログラミング インターフェイスが備わっています。
DataSet
オブジェクトは、本質的に小型データベースである、メモリ内オブジェクトです。 これには、開いた接続を維持しなくても 1 つ以上のデータベースのデータを格納し、変更することができるオブジェクトの DataTable
、DataColumn
、DataRow
が含まれてます。 データセットではデータに対する変更についての情報が保持されるため、更新内容を追跡し、アプリケーションが再接続した状態になったときにデータベースに送り返すことができます。
データセットと関連クラスは、.NET API の System.Data 名前空間で定義されています。 データセットは、ADO.NET を使用して、コード内で動的に作成したり変更したりすることができます。 このセクションのドキュメントでは、Visual Studio デザイナーを使用してデータセットを操作する方法を示しています。 デザイナーで作成されるデータセットでは、TableAdapter オブジェクトを使用してデータベースとやり取りします。 プログラムによって作成されるデータセットでは、DataAdapter オブジェクトを使用します。 プログラムによるデータセットの作成については、「DataAdapters と DataReaders」を参照してください。
アプリケーションで行う必要があるのはデータベースからのデータの読み取りのみで、更新、追加、削除を実行しない場合は、DataReader
オブジェクトを使用して汎用の List
オブジェクトまたは別のコレクション オブジェクト内にデータを取得すれば、通常はパフォーマンスを向上させることができます。 データを表示しようとしている場合は、ユーザー インターフェイスをそのコレクションにデータバインドすることができます。
データセット ワークフロー
Visual Studio には、データセットの操作を簡略化するためのツールが用意されています。 基本的なエンドツーエンドのワークフローは以下のとおりです。
[データ ソース] ウィンドウを使用して、1 つ以上のデータ ソースから新しいデータセットを作成します。 データセット デザイナーを使用して、データセットを構成し、そのプロパティを設定します。 たとえば、データ ソースのどのテーブルを含めるかと、各テーブルのどの列を含めるかを指定する必要があります。 慎重に選択して、データセットに必要なメモリの量を節約します。 詳細については、データセットの作成と構成に関するページを参照してください。
外部キーが正しく処理されるように、テーブル間のリレーションシップを指定します。 詳細については、「TableAdapters を使用してデータセットを入力する」を参照してください。
TableAdapter 構成ウィザードを使用して、データセットにデータを格納するクエリまたはストアド プロシージャと、どのデータベース操作 (更新、削除など) を実装するかを指定します。 詳細については、以下のトピックを参照してください。
データセット内のデータのクエリを行って検索します。 詳細については、「データセットのクエリ」を参照してください。 LINQ to DataSet を使用すると、DataSet オブジェクト内のデータに対して LINQ (統合言語クエリ) が有効になります。 詳細については、「LINQ to DataSet」を参照してください。
[データ ソース] ウィンドウを使用して、ユーザー インターフェイス コントロールをデータセットまたはその個々の列にバインドし、どの列はユーザーが編集可能であるかを指定します。 詳細については、「Visual Studio でのデータへのコントロールのバインド」を参照してください。
データセットと N 層アーキテクチャ
N 層データ アプリケーションでのデータセットの詳細については、「n 層アプリケーションでのデータセットの操作」を参照してください。
データセットと XML
XML に対するデータセットの変換については、「XML データのデータセットへの読み込み」と「データセットを XML として保存する」を参照してください。