ObjectDataSource Web サーバー コントロールの概要

更新 : 2007 年 11 月

ASP.NET ObjectDataSource コントロールは、データの検索と更新の機能を持つ中間層オブジェクトを表します。ObjectDataSource コントロールは、GridViewFormView、および DetailsView の各コントロールのデータ バインド コントロールのデータ インターフェイスとして機能します。これらのコントロールを使用して、ASP.NET Web ページの中間層ビジネス オブジェクトからのデータを表示および編集できます。

このトピックの内容は次のとおりです。

  • 背景

  • コード例

  • クラス リファレンス

背景

SqlDataSource などのほとんどの ASP.NET データ ソース コントロールは、プレゼンテーション層 (ASP.NET Web ページ) が直接データ層 (データベース、XML ファイルなど) と通信する 2 層アプリケーション アーキテクチャで使用されます。ただし、一般的なアプリケーション設計では、プレゼンテーション層をビジネス ロジックから切り離し、ビジネス ロジックをビジネス オブジェクトにカプセル化します。このようなビジネス オブジェクトはプレゼンテーション層とデータ層の間にもう 1 つの層を形成し、3 層アプリケーション アーキテクチャを構成します。ObjectDataSource コントロールは、ページのデータ コントロールを中間層ビジネス オブジェクトにバインドする方法を提供することによって、3 層のアーキテクチャをサポートします。ObjectDataSource は中間層ビジネス オブジェクトと共に動作し、ほとんどコードを記述せずに宣言によってデータの選択、挿入、更新、ページング、並べ替え、キャッシュ、およびフィルタを実行できます。

ObjectDataSource コントロールは、リフレクションを使用してビジネス オブジェクトのメソッドを呼び出し、データを選択、更新、挿入、および削除します。ObjectDataSource コントロールの TypeName プロパティには、ソース オブジェクトとして使用するクラスの名前を指定します。ObjectDataSource コントロールで使用するソース データ オブジェクトを作成する方法の詳細については、「ObjectDataSource コントロールのソース オブジェクト」を参照してください。

並べ替えとページング

ObjectDataSource コントロールは、GridView コントロールなどのデータ バインド コントロールからデータ オブジェクトへの要求に、並べ替えとページングの情報を含めて渡すことによって、追加の並べ替えとページング機能をサポートできます。これによって、ソース データ オブジェクトまたはデータ ソース コントロール自体がデータを並べ替えてページにデータを返すことができます。

ObjectDataSource コントロールのデータ オブジェクトに並べ替えとページングのパラメータを渡す方法については、「ObjectDataSource コントロールにおけるパラメータの使用」を参照してください。

キャッシュ

ObjectDataSource コントロールは、基になるビジネス オブジェクトが返すオブジェクトをキャッシュできます。ただし、リソースを保持するオブジェクト、または開いている DataReader オブジェクトなどのように、複数の要求で共有できない状態を維持するオブジェクトはキャッシュしないでください。

フィルタ処理

ソース データ オブジェクトによって ObjectDataSource コントロールに返されるオブジェクトが DataSet オブジェクトまたは DataTable オブジェクトの場合、ObjectDataSource コントロールは DataColumn クラスの Expression プロパティの構文を使用するフィルタ処理をサポートします。フィルタ処理によって、特定の検索条件に適合する行のみを公開できるので、新しい選択基準を使用してデータ ソースに対してクエリを再実行する必要はありません。詳細については、「データ ソース コントロールによるデータのフィルタ処理」を参照してください。

競合の検出

ObjectDataSource コントロールの ConflictDetection プロパティを true に設定すると、ソース データ オブジェクトの更新メソッドを呼び出す際に、ObjectDataSource コントロールに元の値を含めるように指定できます。元の値は、オプティミスティック同時実行制御のチェックに含めることができます。詳細については、「ObjectDataSource コントロールにおけるパラメータの使用」を参照してください。オプティミスティック同時実行制御のチェックについては、「オプティミスティック同時実行制御 (ADO.NET)」を参照してください。

ページのトップへ

コード例

ObjectDataSource コントロールにおけるパラメータの使用

チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング


ObjectDataSource コントロールのソース オブジェクト

ページのトップへ

クラス リファレンス

ObjectDataSource コントロールに関連する主要なクラスの一覧を次の表に示します。

メンバ

説明

ObjectDataSource

コントロールのメイン クラスです。

ページのトップへ

参照

概念

LinqDataSource Web サーバー コントロールの概要