ダウンロード サンプルファイル (1.6 MB)
本連載では、.NET 4で機能拡張されたDynamic Dataを現場で活用するための基礎知識からカスタマイズまでを紹介します。今回は、触れている方も多いであろう「Entity Framework」を使用して、解説とサンプル作成を行います。
はじめに
Visual Studio 2008 Service Pack1(以下、VS2008 SP1)の追加機能の1つにASP.NET Dynamic Data Application(以下、Dynamic Data)があります。これは、データに対してLINQ to SQLとLINQ to Entitiesを利用し、データを動的に扱うアプリケーション構築を可能にします。
プロジェクトテンプレートにより、既定で「作成、読み取り、更新、削除」が用意されているマスタメンテのようなWeb UIを持つアプリケーションが構築できるのが特徴です。しかし、実際の現場でDynamic Dataを活用するには一歩手が届かない、物足りないという声も聞きます。大抵そのような話を伺うのは、登場したばかりのバージョン1での評価か、1番シンプルにできるアプリケーションを見ての評価だと思います。バージョン2とも言える、Visual Studio 2010(以下、VS2010)で利用できるDynamic Dataでは、カスタマイズによる機能拡張が行いやすくなったので、現場レベルでも活用しやすくなりました。本連載では、.NET 4で機能拡張されたDynamic Dataを現場で活用するための基礎知識からカスタマイズまで紹介したいと思います。
本稿では、触れている方も多いであろう「Entity Framework」を使用して解説とサンプル作成を行います。なお、ASP.NET Dynamic Dataの基本的な開発や説明については、過去の記事『簡単なデータ編集はお任せ!ASP.NET Dynamic Dataアプリケーション』(CodeZine)を参照ください。
必要な環境
次の環境が必要です。
- Visual Studio 2010(Visual Web Developer 2010でもOK)
- NorthWind/Pubsデータベース
VS 2010のインストールは、VS 2010 Beta 2と変わらないので、過去の記事『Visual Studio 2010 Beta 2を使ってみよう』(CodeZine)を参考に行ってください。
なお、本サンプル・プログラムを動作させるにあたっては、無償で提供されているNorthWindデータベースとPubsデータベースを使用しています。
今回触れる内容
- ASP.NET Dynamic Dataとは?
- ASP.NET Dynamic Dataのソリューション構成とサンプルアプリケーション
- 最大のキモ「フィールドテンプレート」
- Dynamic Dataによるフィルタ処理
- Dynamic Dataで活用される属性クラス
この記事は参考になりましたか?
- ASP.NET Dynamic Data活用編連載記事一覧
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト ナオキ(ナオキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
