このチュートリアルでは、動的データと 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 サイトを作成するには、次の手順に従います。
Visual Studio を起動し、[ ファイル ] メニューの [ 新しい Web サイト] をクリックします。 [新しい Web サイト] ダイアログ ボックスが表示されます。
左側のウィンドウの [ インストール済みテンプレート] で、[ Visual C#] を選択します。
中央のウィンドウで、[ 動的データ エンティティ Web サイト ASP.NET 選択します。
[ Web の場所 ] ボックスで [ ファイル システム ] を選択し、Web サイトのページを格納するフォルダーの名前を入力します。 たとえば、フォルダー名
C:\WebSites\DynamicData
を入力し、[OK] をクリック します。Visual Studio によって Web サイトが作成されます。
サーバー エクスプローラーへのデータ接続の追加
Visual Studio では、サーバー エクスプローラーは [データ接続] ノードの下にデータベース接続を表示します。 データベース接続を開き、データを取得して操作するには、次の手順に従います。
[ ツール ] メニューの [ データベースへの接続] を選択します。 [ 接続の追加 ] ダイアログ ボックスが表示されます。
[変更] をクリックします。 [データ ソースの変更] ダイアログ ボックスが表示されます。 [ DB2 データベース] をクリックし、[OK] をクリック します。
[構成] をクリックします。 データ ソース ウィザードの [データ ソース] ダイアログ ボックスが表示されます。
[データ ソース プラットフォーム] で [DB2/NT] を選択し、[次へ] をクリックします。 [TCP/IP ネットワーク接続] ダイアログ ボックスが表示されます。
[ アドレスまたはエイリアス ] ボックスに「」と入力
127.0.0.1
します。 [ ポート ] ボックスに「」と入力50000
し、[ 次へ] をクリックします。 [DB2 データベース] ダイアログ ボックスが表示されます。[ 初期カタログ ] ボックスに「」と入力します
SAMPLE
。 [ パッケージ コレクション ] ボックスに「」と入力しますNULLID
。 [ 既定のスキーマ ] ボックスと [ 既定の修飾子 ] ボックスに「」と入力DB2ADMIN
し、[ 次へ] をクリックします。 [ロケール] ダイアログ ボックスが表示されます。Note
Visual Studio でエンティティ データ モデル ツールを使用してエンティティ モデルを生成する場合は、基になる MsDb2Client ADO.NET Framework Provider for DB2 の既定の修飾子接続プロパティの値を指定する必要があります。これにより、プロバイダーはターゲット DB2 スキーマ (コレクション) に基づいて DB2 カタログ (テーブル、ビュー、ストアド、プロシージャ、列、パラメーター) の正しいスコープをフェッチできます。
[Host CCSID]\( ホストCCSID \) の一覧で[ ANSI – Latin (1252)]\(ANSI – ラテン語 (1252)\) を選択し、[ 次へ] をクリックします。 [セキュリティ] ダイアログ ボックスが表示されます。
[ユーザー名] ボックスに「
db2admin
」と入力します。 [ パスワード ] と [ パスワード] の確認 ボックスに「」と入力Pass@word1
し、[ 次へ] をクリックします。 [詳細オプション] ダイアログ ボックスが表示されます。[次へ] をクリックします。 [すべてのプロパティ] ダイアログ ボックスが表示されます。
[次へ] をクリックします。 [検証] ダイアログ ボックスが表示されます。
[ 接続] をクリックし、[ パッケージ] をクリックし、[ サンプル クエリ] をクリックして、[ 次へ] をクリックします。 [データ リンクのプロパティ] ダイアログ ボックスが閉じ、新しいデータ接続が [データ接続] ノードの下に表示され、アクセスされたサーバーとデータベースに対して という名前が付けられます。
[ 接続の追加 ] ダイアログ ボックスで、[データ ソース名] に「」と入力
DB2
します。[ テスト接続] をクリックし、[ OK] をクリックし、[OK] をクリック します。
必要に応じて、サーバー エクスプローラーで [データ接続] を展開し、データベース テーブルを表示します。
Web サイトへのデータの追加
次の手順に従って、プロジェクトにデータベース接続を追加します。 後でデータベースを使用してデータ コンテキスト (データベース エンティティを表すクラス) を作成し、動的データで使用するデータ コンテキストを登録します。
ソリューション エクスプローラーでプロジェクトを右クリックし、[新しい項目] をクリックします。 [新しい項目の追加] ダイアログ ボックスが表示されます。
左側のウィンドウの [ インストール済みテンプレート] で、[ Visual C#] を選択します。 中央のウィンドウで、[エンティティ データ モデル ADO.NET 選択します。
[ 名前 ] ボックスに、データベース モデルの名前を入力します。 たとえば、 という名前を入力します
DB2.edmx
。[追加] をクリックします。 [App_Code フォルダーの作成] ダイアログ ボックスが表示されます。
[はい] をクリックします。 エンティティ データ モデル ウィザードの [モデル コンテンツの選択] ダイアログ ボックスが表示されます。
[ データベースから生成] を選択し、[ 次へ] をクリックします。 [データ接続の選択] ダイアログ ボックスが表示されます。
ドロップダウン リストで、上記で構成した接続を選択します。 たとえば、DB2 を選択します 。サンプル。DB2ADMIN。 [はい] をクリックして、機密データ (ユーザー名とパスワード) を接続文字列に含め、[次へ] をクリックします。 [データベース オブジェクトの選択] ダイアログ ボックスが表示されます。
三角形をクリックして [ テーブル ] ノードを展開します。 DEPARTMENT テーブルと EMPLOYEE テーブルのチェック ボックスをクリックし、[完了] をクリックします。 ADO.NET エンティティ データ モデル デザイナーが表示されます。
ソリューション エクスプローラーで、DB2.Designerを開きます。 DB2.edmx ファイル ノードの下にある cs ファイル。 DB2.edmx ファイルには、データベースを表す SAMPLEEntities クラスが含まれていることに注意してください。 また、データベース テーブルを表すエンティティ クラスも含まれています。
ソリューション エクスプローラーで、web.config ファイルを開きます。 connectionStrings 要素には、DB2 データベースへの接続文字列が含まれていることに注意してください。
クラス ファイルと web.config ファイルを閉じます。
データ コンテキストの登録
動的データで使用するデータ コンテキストを登録するには、次の手順に従います。
ソリューション エクスプローラーで、Global.asax ファイルを開きます。
DefaultModel.RegisterContext メソッドを含む行のコメントを解除します。
適切なコンテキスト型を設定し、変数 ScaffoldAllTables を true に設定します。
DefaultModel.RegisterContext(typeof(SAMPLEModel.SAMPLEEntities), new ContextConfiguration() { ScaffoldAllTables = true });
これにより、動的データで使用するデータ コンテキストが登録され、データ モデルのスキャフォールディングが可能になります。
重要
変数 ScaffoldAllTables を true に設定してスキャフォールディングを有効にすると、表示操作と編集操作のためにデータ モデル内のすべてのテーブルが公開されるため、セキュリティ上のリスクが発生する可能性があります。 詳細については、「 ASP.NET 動的データ スキャフォールディング (https://go.microsoft.com/fwlink/?LinkId=199054)」を参照してください。
[ファイル] メニューの [ Save Global.asax]\(グローバル.asax の保存\) をクリックします。
動的データ Web サイトのテスト
作成した動的データ Web サイトをテストするには、次の手順に従います。
[ デバッグ ] メニューの [ デバッグの開始] をクリックします。 デバッグを有効にするように求められたら、[ OK] をクリックします。 インターネット エクスプローラー動的データ Web サイトが表示されます。
DB2 テーブルを表示するには、 DEPARTMENT ハイパーリンクをクリックします。
ハイパーリンクをクリックして、データベース上でモデル内を移動します。 必要に応じて、[ 編集]、[ 更新]、[ 削除 ] をクリックして、Entity Provider for DB2 を使用してデータベースに変更を加えます。
選択したテーブルのデータを含むページが表示されます。 外部キー フィールドを含むテーブルの場合は、参照先テーブルの詳細ページへのリンクが提供されます。 テーブルが一対多リレーションシップの親テーブルである場合は、子テーブルのリスト ページへのリンクが提供されます。
データベースの移動とレコードの編集が完了したら、ブラウザーを閉じます。