ビジネス オブジェクトへのバインディング

更新 : 2007 年 11 月

通常、ビジネス アプリケーションでは、中間層のデータ アクセス レイヤまたはビジネス コンポーネントを使用するカプセル化されたデータ モデルが使用されます。一般に、Web アプリケーションではビジネス データ オブジェクトのコードだけでなく、コンポーネントと通信するためのコードおよびコンポーネントが管理するデータにコントロールをバインドするためのコードなども記述する必要があります。ASP.NET データ ソース コントロール モデルは、ビジネス コンポーネントとの連携を簡略化し、ObjectDataSource コントロール、LINQ to SQL クラス、および LinqDataSource コントロールを提供することによって、記述する必要があるコードを排除または大幅に削減します。

ObjectDataSource コントロール

ObjectDataSource コントロールは、データをカプセル化し、データ管理サービスを提供する任意のビジネス オブジェクトと共に使用できます。ObjectDataSource コントロールは、GridView コントロールなどのデータ バインド コントロールがバインドできるように、標準のデータ ソース コントロール オブジェクト モデルを使用します。ソース ビジネス オブジェクトは、データ アクセスを直接管理できるか、または既存のビジネス コンポーネントのラッパーとして機能します。詳細については、「ObjectDataSource コントロールのソース オブジェクト」を参照してください。

ObjectDataSource コントロールの TypeName プロパティをビジネス オブジェクトの型 (クラス名) に設定することによって、ObjectDataSource コントロールをビジネス オブジェクトに関連付けます。次に、個々のデータ操作に対して、ObjectDataSource が呼び出すビジネス オブジェクトのメソッドを 1 つまたは複数指定します。ObjectDataSource コントロールの SelectMethod プロパティは、データを取得するために使用するソース ビジネス オブジェクトのメソッドを指定します。同様に、InsertMethodUpdateMethod、および DeleteMethod の各プロパティは、挿入、更新、および削除の各操作に使用するメソッドを指定します。

ObjectDataSource コントロールをビジネス オブジェクトに関連付けた後は、次の例のように、データ バインド コントロールの DataSourceID プロパティを使用してこのコントロールを ObjectDataSource コントロールにバインドします。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - VJ# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.JSL.EmployeeLogic" />

    </form>
  </body>
</html>

詳細については、「ObjectDataSource Web サーバー コントロールの概要」のトピックを参照してください。

LINQ To SQL クラス

オブジェクト リレーショナル デザイナを使用すると、データベースおよびそのテーブルを表すクラスを作成できます。デザイナで生成されるクラスは、LINQ to SQL を使用してデータの取得と変更を行います。クラスを作成した後、LinqDataSource コントロールまたは ObjectDataSource コントロールを使用してデータ オブジェクトにバインドできます。LinqDataSource コントロールの詳細については、「LinqDataSource Web サーバー コントロールの概要」を参照してください。LINQ および ASP.NET の詳細については、「ASP.NET での LINQ の使用」を参照してください。

参照

概念

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

参照

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