BOOK Preview

Microsoft Visual Studio 2005による
Webアプリケーション構築技法

7.6 データコンポーネント機能による
データアクセスコンポーネントの開発

マイクロソフトプレスの書籍紹介ページ
書籍情報(書籍目次)のページ
2006/05/09

Page1 Page2 Page3 Page4

 本コーナーは、.NET関連の新刊書籍から主要なチャプターをそのまま転載し、その内容を紹介するものです。

 今回は日経BPソフトプレス/マイクロソフトプレスより2006年5月22日発行の書籍『Microsoft Visual Studio 2005によるWebアプリケーション構築技法―ASP.NET 2.0上での参照系・更新系アプリケーションの設計』より、同社の許可を得てその内容を転載しています。

 本書は、Webアプリ構築の実践的テクニックを網羅し、.NET開発者から高い評価を得ている書籍『.NETエンタープライズWebアプリケーション 開発技術大全』シリーズの著者であるマイクロソフトのコンサルタント赤間氏による新刊書籍です。

 先の「開発技術大全シリーズ」では全5巻というボリュームで、スケーラビリティやセキュリティ、複雑なトランザクション、アプリケーション・アーキテクチャといった大規模Webアプリ構築のためのトピックまでをカバーしているのに対し、本書では新しくなったVisual Studio 2005およびSQL Server 2005をベースに、ASP.NET 2.0の基本的な動作や開発方法(第1部)、参照系業務アプリ構築に必要なデータバインド手法(第2部)、更新系業務アプリ構築のための基本的なトランザクション制御方法(第3部)といった中小規模Webアプリの構築技法を一冊にまとめています。

 このため、すでに前書は読んだがVisual Studio 2005(. NET Framework 2.0)の新しい機能について知りたいという方にも、Visual Studio 2005で新しくWebアプリ開発を始めてみたいという方にもお勧めです。

 特に本書では、Webアプリ構築に特化したVisual Studio 2005の無償版である「Visual Web Developer 2005 Express Edition」と、これまた無償の「SQL Server 2005 Express Edition」を開発環境として用いており、誰でもすぐに実習を始めることができます。

 本稿は、同書の第2部「第7章 ADO.NETによるデータアクセス」の「7.6 データコンポーネント機能によるデータアクセスコンポーネントの開発」からの転載です。ここではVisual Studio 2005の新機能である「テーブルアダプタ」を利用した、Webアプリのデータアクセス層を構築するための手順が詳しく丁寧に解説されています。

  テーブルアダプタの導入により、これまで複雑になりがちだったデータアクセス層(データベースへのアクセスを担当する一連のクラス)の設計/開発が、シンプルかつビジュアルに行えるようになります。本稿で披露されているpartialクラスによる拡張も、テーブルアダプタの活用には欠かせないテクニックといえるでしょう。

 なお、書籍の詳細については書籍情報のページをご覧ください。

ご注意:本記事は、書籍の内容を改訂することなく、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

 Visual Web Developer(Visual Studio 2005)では、従来の.xsdファイル(型付きデータセット)に大幅な機能強化が施され、データアクセスコンポーネントを極めて簡単に開発できるようになった。この機能を利用すると、本章の前半で解説したベストプラクティス指針(表7-5)に従ったデータアクセスコンポーネントを簡単に作成できるようになる。

1. 表の読み取り 2. 単一集計値の読み取り 3. データの更新
クエリの例 SELECT * FROM authors SELECT COUNT(*) FROM authors UPDATE authors SET …
接続方式 非接続型データアクセス 接続型データアクセス 接続型データアクセス
利用する命令 SqlDataAdapter.Fill( ) SqlCommand.ExecuteScalar( ) SqlCommand.Execute
NonQuery( )
表7-5 データアクセスのベストプラクティス(再掲)

 これについて以下に解説する。

7.6.1 データコンポーネント機能の概要

 データコンポーネント機能とは、データアクセスコンポーネント(DAC)とビジネスエンティティコンポーネント(BEC)※22とを、ビジュアルデザイン機能を利用しながら同時に開発することができる機能である(図7-20)。

※22 DataSetオブジェクトのように、「データを保有する」機能のみを持つオブジェクトのこと。BECは、データベースにアクセスする機能、ビジネスロジックのいずれも持たず、あくまでデータを保持する機能のみを持つ。業務アプリケーション開発においてBECは極めて重要である。なぜなら、BECを用いてモジュール間あるいはマシン間でのデータの一括受け渡しを行うためである。詳細は後述する(図7-30)。
 
図7-20 データコンポーネント機能によるDACとBECの同時開発

 結論を先に書くと、図7-20に示したビジュアルデザイン画面を利用すると、テーブルアダプタと呼ばれるデータアクセスコンポーネント(DAC)と、型付きデータセットと呼ばれるビジネスエンティティコンポーネント(BEC)をまとめて作成することができる(図7-21)。この作成方法について、以下に順を追って解説する。

図7-21 データコンポーネントを活用した型付きデータセットとテーブルアダプタの作成

7.6.2 データコンポーネント機能の利用手順

 では、実際にデータコンポーネント機能を利用してみよう。まず、新規にWebサイトを1つ作成し、App_Dataフォルダ下にpubs.mdfデータベースファイルを配置する。その後、以下の手順に沿って作業を進めてみていただきたい。

A. .xsdファイルの追加

 データコンポーネント機能を利用したいWebサイト上に、.xsdファイルを1つ追加する。なお、ASP.NET 2.0ランタイムのルールにより、この.xsdファイルはApp_Codeフォルダの下に配置しなければならないことが定められている。このため図7-22のように、当該Webサイト上にApp_Codeフォルダを作成し、この下側に.xsdファイルを新規追加する。

図7-22 Webサイトへの.xsdファイルの追加

 なおこの.xsdファイルは、(従来バージョンのVisual Studio .NETの名残から)画面上ではデータセットと表記されている。しかしこの名称は、この.xsdファイルから動的に生成される型付きデータセットクラスと混同しやすい。このため、本書では「.xsdファイル」または「データコンポーネント機能」と称することとする。

 また、この.xsdファイルに付与した名前を基にクラスファイルが自動生成されるため、クラス名としてふさわしい名前となるようにファイル名を付与しておくとよい。通常は、「○○DataSet.xsd」(先頭一文字は大文字にし、末尾に数字は付与しない)というファイル名を付与する。今回は、pubsデータベース内のauthorsテーブルにアクセスするためのコードを記述するので、"AuthorsDataSet.xsd"というファイル名を付与することとする。

 .xsdファイルをWebサイトに追加するとウィザード画面が起動するが、これについてはいったんキャンセルする。その上で、ソリューションエクスプローラからこの.xsdファイルを開くと、図7-23のようなデザイン画面が開く。ここに実行するSQL文を適宜定義していく。

図7-23 データコンポーネント機能による.xsdファイルのデザイン画面
 
 

 INDEX
  Microsoft Visual Studio 2005によるWebアプリケーション構築技法
  7.6 データコンポーネント機能によるデータアクセスコンポーネントの開発
  1. 7.6.1 データコンポーネント機能の概要
    2. 7.6.2 データコンポーネント機能の利用手順(1)
    3. 7.6.2 データコンポーネント機能の利用手順(2)
    4. 7.6.3 データコンポーネントの拡張
 
インデックス・ページヘ  「BOOK Preview」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間