4つめは、「ADO.NET Dynamic Data」である。これはおそらく「Ruby on Rails(以下RoR)」から影響を受けたものと思われる。RoRの特徴の1つとして、リレーショナルデータベース(RDB)のテーブルをモデリングしたクラスをベースにして、テーブルに対するレコードの追加、変更、削除を行えるWebページを簡単に作成できることが挙げられる。この機能は"Scaffold"(足場、土台という意味)と呼ばれている。RoRではこのScaffoldを利用して、モデルのクラスからWebページを作成し、それをカスタマイズしていく、という方法で開発を行えるようになっている。

ADO.NET Dynamic Dataも基本的な考え方はほぼ同じだ。RDBのテーブルなどを元にしてモデルとなるクラスを作成するだけで、レコードの追加、変更、削除が行えるWebページが作成できるのである。しかもRoRと異なり、VS 2008による操作を標準でサポートしているため、RoRより直感的に扱える。もちろんRoRのscaffoldと同じように、データの表示方法などを細かくカスタマイズしていくことも可能だ。

Webアプリケーションを開発する上では、必ずデータを管理するためのページを作成することが必要となる。たとえば、ショッピングサイトであれば商品管理や顧客管理のページ、掲示板やコミュニティサイトであれば、悪質な書き込みをチェックし、削除するためのページなどだ。これらのページを作成する作業は地味ではあるが、やはりそれなりの手間が必要となってしまう。ADO.NET Dynamic Dataを使用することで、そのような管理系のページを作成する時間を最小限に抑え、そのWebアプリケーションのウリとなるようなページの開発に対して、より多くの時間を割けるようになるだろう。

ADO.NET Dynamic Dataを使用して、既存テーブルの構造からレコード編集用Webページを自動的に作成できる

ADO.NET Dynamic Dataでは、各レコードの編集画面も自動的に生成される