テスターですが何か?

ホビープログラマ略してHPです

WCF Data Servicesを試してみた(1)

leave a comment »

MSエバンジェリストの小高さんや井上さんのWCF Data Services(OData)のデモを見ていて自分でも試してみたいと思ってやってみました。

【試してみたいなぁと思った資料】

[TechDays2010] T2-306 WCF Data Servicesの新機能とOpen Data Protocol (ページ右部分からセッションを選択してください)
http://www.microsoft.com/japan/events/techdays/2010/default.aspx

サーバーサイド開発『"クラウド" 時代の次世代サーバーサイド開発』 (ページいちばん下です)
http://www.microsoft.com/japan/web/ftd/cast/vs.mspx

【参考にした資料】

WCF Data Services (MSDN)

クイック スタート (WCF Data Services)

  – データ サービスの作成

  – Web ブラウザーからサービスへのアクセス (WCF Data Services クイックスタート)

では始めましょう。今回はサービスの作成までです。

1.Visual Web Developerを起動し、プロジェクトを新規作成し「ASP.NET空のWebアプリケーション」を選択します。

image

 ソリューションエクスプローラーはこんな感じです。

image

2.データモデルを作成します。プロジェクトを右クリック – [追加] – [新しい項目]より、[データ] – [ADO.NET Entity Data Model]を選択します。

image

3.ウィザードが起動、[データベースから作成]を選択

image 

4.接続するSQLServerを指定します。[新しい接続]からデータベースを指定します。(もちろん事前にデータベースを作成しておく必要があります)

image

5.使用するテーブルを選択します。

image

6.これでデータモデルの作成は完了です。ソリューションエクスプローラーはこんな感じです。

image

7.WCFサービスを作成します。プロジェクトを右クリック – [追加] – [新しい項目]より、[Web] – [WCF Data Service]を選択します。

image

8.以下のようにコードが自動生成されています。

image

9.自動生成コードを以下のように書き換えます。

image

コードの解説

Public Class ImageProvider
    ‘ TODO: [[class name]] をデータ クラス名に置き換えてください
    Inherits DataService(Of BijinServiceEntities)   ← サービスとして公開するエンティティの名前、手順4で指定した名前です。

    ‘ このメソッドは、サービス全体のポリシーを初期化するために、1 度だけ呼び出されます。
    Public Shared Sub InitializeService(ByVal config As DataServiceConfiguration)
        config.SetEntitySetAccessRule("ImagePointers", EntitySetRights.AllRead)  ← エンティティセットのアクセス権設定(読み取りのみ)
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2
    End Sub

End Class

     “ImagePointers”は*.edmxファイル内のエンティティのエンティティセット名です(?)*.edmxファイルに含まれるエンティティのプロパティの「エンティティセット」を指定します。

image

10.これでサービスの作成は完了です。次回のエントリでブラウザからサービスへアクセスします。

Written by david9142

2010年9月27日 @ 3:28 PM

カテゴリー: ASP.NET

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。