次の方法で共有


動的データ Web

このチュートリアルでは、動的データと WCF データ サービス ASP.NET 使用する基本的な Web サイトを作成する方法について説明します。 動的データを使用すると、コーディングをほとんどまたはまったく行っていないデータドリブン Web サイトを作成できます。 WCF Data Services を使用すると、アプリケーションで Open Data Protocol (OData) サービスを作成して使用できます。 Entity Provider for DB2 を使用して動的データと WCF Data Services を生成し、IBM DB2 リレーショナル データベースに格納されている情報にアクセスできます。 詳細については、ASP.NET 動的データ コンテンツ マップ (https://go.microsoft.com/fwlink/?LinkId=199029) および WCF Data Services (https://go.microsoft.com/fwlink/?LinkId=199030) を参照してください。

このトピックは、次のセクションで構成されています。

前提条件

このチュートリアルを完了するには、次のコンポーネントをインストールする必要があります。

  • Visual Studio 2012

  • インターネット インフォメーション サービス 7

  • サンプル データベース (SAMPLE、CORPDATA、DSN8910など) を含む IBM DB2 リレーショナル データベース サーバー。

動的データ Web サイトの作成

ASP.NET 動的データ テンプレートを使用して Visual Studio で動的データ Web サイトを作成するには、次の手順に従います。

  1. Visual Studio を起動し、[ ファイル ] メニューの [ 新しい Web サイト] をクリックします。 [新しい Web サイト] ダイアログ ボックスが表示されます。

  2. 左側のウィンドウの [ インストールされているテンプレート] で、[ Visual C#] を選択します。

  3. 中央のウィンドウで、 動的データ エンティティ Web サイト ASP.NET 選択します。

  4. [ Web の場所 ] ボックスで、[ ファイル システム ] を選択し、Web サイトのページを格納するフォルダーの名前を入力します。 たとえば、 C:\WebSites\DynamicData フォルダー名を入力し、[ OK] をクリックします。Visual Studio によって Web サイトが作成されます。

サーバー エクスプローラーへのデータ接続の追加

Visual Studio では、サーバー エクスプローラーの [データ接続] ノードの下にデータベース接続が表示されます。 データベース接続を開き、データを取得して操作するには、次の手順に従います。

  1. [ ツール ] メニューの [ データベースへの接続] を選択します。 [ 接続の追加 ] ダイアログ ボックスが表示されます。

  2. [ 変更] をクリックします。 [データ ソースの変更] ダイアログ ボックスが表示されます。 [ DB2 データベース] をクリックし、[OK] をクリック します

  3. [構成]をクリックします。 データ ソース ウィザードの [データ ソース] ダイアログ ボックスが表示されます。

  4. データ ソース プラットフォームで、DB2/NT を選択し、[次へ] をクリックします。 [TCP/IP ネットワーク接続] ダイアログ ボックスが表示されます。

  5. [ アドレスまたはエイリアス ] ボックスに「 127.0.0.1」と入力します。 [ ポート ] ボックスに「 50000」と入力し、[ 次へ] をクリックします。 [DB2 データベース] ダイアログ ボックスが表示されます。

  6. [ 初期カタログ ] ボックスに「 SAMPLE」と入力します。 [ パッケージ コレクション ] ボックスに「 NULLID」と入力します。 [ 既定のスキーマ ] ボックスと [ 既定の修飾子 ] ボックスに「 DB2ADMIN」と入力し、[ 次へ] をクリックします。 [ロケール] ダイアログ ボックスが表示されます。

    Visual Studio で Entity Data Model Tools を使用してエンティティ モデルを生成する場合は、基になる MsDb2Client ADO.NET Framework Provider for DB2 の既定の修飾子接続プロパティの値を指定する必要があります。これにより、プロバイダーはターゲット DB2 スキーマ (コレクション) に基づいて DB2 カタログ (テーブル、ビュー、ストアド、プロシージャ、列、パラメーター) の正しいスコープをフェッチできます。

  7. ホストCCSIDの一覧で、ANSI – ラテン (1252)を選択し、[次へ] をクリックします。 [セキュリティ] ダイアログ ボックスが表示されます。

  8. [ユーザー名] ボックスに「 db2admin」と入力します。 [ パスワード ] と [ パスワード] の確認 ボックスに「 Pass@word1」と入力し、[ 次へ] をクリックします。 [詳細オプション] ダイアログ ボックスが表示されます。

  9. [次へ] をクリックします。 [すべてのプロパティ] ダイアログ ボックスが表示されます。

  10. [次へ] をクリックします。 [検証] ダイアログ ボックスが表示されます。

  11. [ 接続] をクリックし、[ パッケージ] をクリックし、[ サンプル クエリ] をクリックして、[ 次へ] をクリックします。 [データ リンクのプロパティ] ダイアログ ボックスが閉じ、新しいデータ接続が [データ接続] ノードの下に表示され、アクセスされたサーバーとデータベースの名前が付けられます。

  12. [ 接続の追加 ] ダイアログ ボックスで、[データ ソース名の DB2 を入力します。

  13. [ テスト接続] をクリックし、[ OK] をクリックし、[OK] をクリック します

  14. 必要に応じて、 サーバー エクスプローラー[データ接続] を展開し、データベース テーブルを表示します。

Web サイトへのデータの追加

プロジェクトにデータベース接続を追加するには、次の手順に従います。 後でデータベースを使用してデータ コンテキスト (データベース エンティティを表すクラス) を作成し、動的データで使用するデータ コンテキストを登録します。

  1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[新しい項目] をクリックします。 [新しい項目の追加] ダイアログ ボックスが表示されます。

  2. 左側のウィンドウの [ インストールされているテンプレート] で、[ Visual C#] を選択します。 中央のウィンドウで、 エンティティ データ モデル ADO.NET 選択します。

  3. [ 名前 ] ボックスに、データベース モデルの名前を入力します。 たとえば、 DB2.edmxの名前を入力します。

  4. 追加をクリックします。 [App_Code フォルダーの作成] ダイアログ ボックスが表示されます。

  5. [ はい] をクリックします。 エンティティ データ モデル ウィザードの [モデル コンテンツの選択] ダイアログ ボックスが表示されます。

  6. [ データベースから生成] を選択し、[ 次へ] をクリックします。 [データ接続の選択] ダイアログ ボックスが表示されます。

  7. ドロップダウン リストで、上記で構成した接続を選択します。 たとえば、DB2.SAMPLE.DB2ADMIN を選択します。 [ はい ] をクリックして、接続文字列に機密データ (ユーザー名とパスワード) を含め、[ 次へ] をクリックします。 [データベース オブジェクトの選択] ダイアログ ボックスが表示されます。

  8. 三角形をクリックして[ テーブル] ノードを展開します。 DEPARTMENT テーブルと EMPLOYEE テーブルのチェック ボックスをオンにし、[完了] をクリックします。 ADO.NET エンティティ データ モデル デザイナーが表示されます。

  9. ソリューション エクスプローラーで、DB2 を開きます。Designer.cs DB2.edmx ファイル・ノードの下にあるファイルです。 DB2.edmx ファイルに、データベースを表す SAMPLEEntities クラスが含まれていることに注意してください。 また、データベース テーブルを表すエンティティ クラスも含まれています。

  10. ソリューション エクスプローラーでweb.config ファイルを開きます。 connectionStrings 要素に DB2 データベースへの接続文字列が含まれていることに注意してください。

  11. クラス ファイルと web.config ファイルを閉じます。

データ コンテキストの登録

動的データで使用するデータ コンテキストを登録するには、次の手順に従います。

  1. ソリューション エクスプローラーで、Global.asax ファイルを開きます。

  2. DefaultModel.RegisterContext メソッドを含む行のコメントを解除します。

  3. 適切なコンテキスト型を設定し、変数 ScaffoldAllTables を true に設定します。

    DefaultModel.RegisterContext(typeof(SAMPLEModel.SAMPLEEntities), new ContextConfiguration() { ScaffoldAllTables = true });
    

    これにより、動的データで使用するデータ コンテキストが登録され、データ モデルのスキャフォールディングが可能になります。

    Important

    変数 ScaffoldAllTables を true に設定してスキャフォールディングを有効にすると、表示および編集操作のためにデータ モデル内のすべてのテーブルが公開されるため、セキュリティ上のリスクが発生する可能性があります。 詳細については、「 動的データ スキャフォールディングの ASP.NET (https://go.microsoft.com/fwlink/?LinkId=199054)」を参照してください。

  4. [ファイル] メニューの [ Global.asax の保存] をクリックします。

動的データ Web サイトのテスト

作成した動的データ Web サイトをテストするには、次の手順に従います。

  1. [ デバッグ ] メニューの [ デバッグの開始] をクリックします。 デバッグを有効にするように求められたら、[ OK] をクリックします。 Internet Explorer に動的データ Web サイトが表示されます。

  2. DB2 テーブルを表示するには、 DEPARTMENT ハイパーリンクをクリックします。

  3. ハイパーリンクをクリックして、データベース上でモデル内を移動します。 必要に応じて、[ 編集]、[ 更新]、[ 削除 ] の順にクリックし、Entity Provider for DB2 を使用してデータベースに変更を加えます。

  4. 選択したテーブルのデータを含むページが表示されます。 外部キー フィールドを含むテーブルの場合、参照先テーブルの詳細ページへのリンクが提供されます。 テーブルが一対多リレーションシップの親テーブルである場合は、子テーブルのリスト ページへのリンクが提供されます。

    データベースの移動とレコードの編集が完了したら、ブラウザーを閉じます。

こちらもご覧ください

WCF Data ServiceEntity Framework