ADO.NET DataServices :データの取得
こんにちは、こだかです。
すみません、ずいぶんと時間がたってしまいましたが、前回ADO.NET DataServicesでServiceを作成した続きを書きたいと思います。
(2008/09/24 追記: 前回と今回で使用したサンプルプロジェクトとスクリプトは後日この記事に添付いたします。)
(2008/09/25 追記: サンプルプロジェクトとスクリプトはここからダウンロードしてください。)
まず、テーブルスキーマを書いておきますね。
CREATE TABLE [dbo].[jobs](
[JobId] [int] NOT NULL,
[JobName] [nvarchar](50) NULL,
CONSTRAINT [PK_job] PRIMARY KEY CLUSTERED
([JobId] ASC)
CREATE TABLE [dbo].[employee](
[employeeId] [int] NOT NULL,
[FirstName] [nchar](10) NULL,
[LastName] [nchar](10) NULL,
[JobId] [int] NULL,
[Picture] [nvarchar](max) NULL,
[Picture_Jpg] [image] NULL,
CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED
([employeeId] ASC)
以上の2つのテーブルをそのままEntityDataModelで公開しました。
こんなのでしたね。
さらに2つのテーブルはリレーションシップが張ってあり、これはEntityDataModelでは
アソシエーション(関係)となります。上記の絵では2つのエンティティの間に線があるのがわかると思います。
さて、このServiceをクエリーするわけですが、ごちゃごちゃ説明するよりも、例を示したほうがわかりやすいとおもいますので、ざっと書きます。
(ホストのアドレスは適当に読み替えてください)
データの取得1---------------------------------------------------
RootAccess:
https://localhost/Demo1/HRService.svc/
EntitySet:
https://localhost/Demo1/HRService.svc/jobs
SingleEntity:
https://localhost/Demo1/HRService.svc/jobs(10)
Link traversal:
https://localhost/Demo1/HRService.svc/jobs(10)/employee
Deep access1:
https://localhost/Demo1/HRService.svc/jobs(10)/employee(40)
Deep access2:
https://localhost/Demo1/HRService.svc/jobs(10)/employee(40)/LastName
Raw value access:
https://localhost/Demo1/HRService.svc/jobs(10)/employee(40)/LastName/$value
Raw value access2:
https://localhost/Demo1/HRService.svc/jobs(10)/employee(40)/Picture_Jpg/$value
データの取得2---------------------------------------------------
Sorting:
https://localhost/Demo1/HRService.svc/jobs?$orderby=JobName
Filterring:
https://localhost/Demo1/HRService.svc/jobs?$filter=(JobId)gt(20)
Paging:
https://localhost/Demo1/HRService.svc/jobs?$orderby=JobName&$top=2&$skip=1
Inline Expansion:
https://localhost/Demo1/HRService.svc/jobs?$expand=employee
たとえばFilterring(Where条件)の例では、以下のような結果が返ってきます。
JobIdが20より大きな値です。(gtというのは GreaterThanの略だと思われます。)
次回は別のフォーマットを考慮したクエリーを行ってみましょう。
こだかたろう
Comments
Anonymous
September 23, 2008
PingBack from http://hoursfunnywallpaper.cn/?p=7553Anonymous
September 23, 2008
PingBack from http://informationsfunnywallpaper.cn/?p=6750Anonymous
September 23, 2008
PingBack from http://www.easycoded.com/adonet-dataservices-%ef%bc%9a%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae%e5%8f%96%e5%be%97/Anonymous
September 23, 2008
PingBack from http://hoursfunnywallpaper.cn/?p=7555Anonymous
September 23, 2008
PingBack from http://housesfunnywallpaper.cn/?p=7238Anonymous
September 23, 2008
PingBack from http://informationsfunnywallpaper.cn/?p=6754Anonymous
September 23, 2008
こんにちは、こだかです。 前回 から引き続き、ADO.NET DataServicesを使用したデータの取得を書きたいと思います。 今回は、取得するデータのフォーマットを変更してみましょう。 ADO.NETAnonymous
June 16, 2009
PingBack from http://lowcostcarinsurances.info/story.php?id=4970