您的位置:知识库 » .NET技术

ADO.NET Data Service

作者: WXWinter(冬)  来源: 博客园  发布时间: 2008-12-16 00:01  阅读: 13462 次  推荐: 0   原文链接   [收藏]  
URL访问

 

DataService 支持URL方式访问

格式

http://[Url]/[ServiceName]/[EntityName]/[NavigationOptions]?[QueryOptions]

Url: 数据服务所在的网址

ServiceName: 数据服务的名称

EntityName: Entity 名称或是 Service 方法名称

NavigationOptions: 查询 Entity 中关联的设定

QueryOptions: 查询的选项

 

运算符

运算符

说明

and

 

or

 

not

 

eq

=

ne

!=

lt

<

gt

>

le

<=

ge

>=

add

+

sub

-

mul

*

div

/

mod

余数

()

 

 

关键字

expand

类似于LINQ中的LoadOptions,以此来指定加载此对象相关的通过expand指定的对象。如果需要加载多个对象,用逗号分隔。

orderby

指定排序方式。语法为:$orderby=Field [ASC|DESC], [Field[ASC|DESC]]

Skip

Top

类似于LINQ中的Skip(PageSize * PageIndex).Take(PageSize)用来实现分页。

Filter

通过filter这个参数可以在URL里传递过滤条件。

 

函数

bool substringof(string p0, string p1)

 

bool startswith(string p0, string p1)

 

int indexof(string arg)

 

string remove(string p0, int pos)

 

string remove(string p0, string find, string replace)

 

string substring(string p0, int pos, int length)

 

string toupper(string p0)

 

string concat(string p0, string p1)

 

bool endswith(string p0, string p1)

 

int length(string p0)

 

string insert(string p0,int pos, string p1)

 

string remove(string p0, int pos, int length)

 

string substring(string p0, int pos)

 

string tolower(string p0)

 

string trim(string p0)

 

int day(DateTime)

 

int month(DateTime)

 

int hour(DateTime)

 

int second(DateTime)

 

int minute(DateTime)

 

int year(DateTime)

 

double round(double)

 

decimal floor(decimal)

 

decimal round(decimal)

 

double ceiling(double)

 

double floor(double)

 

decimal ceiling(decimal)

 

 

例1:直接访问Entity数据

http://localhost:1468/myWebDataService.svc/tabA

由于返回的数据是ATOM格式的,如果浏览器支持该格式,会用阅读方式打开,IE7RSS阅读器方式打开

以下是返回的数据

tabA

http://localhost:1468/myWebDataService.svc/tabA

2008-11-17T11:14:32Z

http://localhost:1468/myWebDataService.svc/tabA('lzm%20%20%20%20%20%20%20')

2008-11-17T11:14:32Z

lzm

2

5

http://localhost:1468/myWebDataService.svc/tabA('wxd%20%20%20%20%20%20%20')

2008-11-17T11:14:32Z

wxd

1

4

http://localhost:1468/myWebDataService.svc/tabA('wxdlzm%20%20%20%20')

2008-11-17T11:14:32Z

wxdlzm

333

xxx

http://localhost:1468/myWebDataService.svc/tabA('wxwinter%20%20')

2008-11-17T11:14:32Z

wxwinter

3

6

 

 

例2:使用条件

http://localhost:1468/myWebDataService.svc/tabA?$filter=a eq 'wxd'

http://localhost:1468/myWebDataService.svc/tabA?$filter=(a eq 'wxwinter') and (b eq '3')

tabA

http://localhost:1468/myWebDataService.svc/tabA

2008-11-17T11:26:29Z

http://localhost:1468/myWebDataService.svc/tabA('wxd%20%20%20%20%20%20%20')

2008-11-17T11:26:29Z

wxd

1

4

 

 

例3:排序

http://localhost:1468/myWebDataService.svc/tabA?$filter=a ne 'wxd' &$orderby=b

tabA

http://localhost:1468/myWebDataService.svc/tabA

2008-11-17T11:28:10Z

http://localhost:1468/myWebDataService.svc/tabA('lzm%20%20%20%20%20%20%20')

2008-11-17T11:28:10Z

lzm

2

5

http://localhost:1468/myWebDataService.svc/tabA('wxwinter%20%20')

2008-11-17T11:28:10Z

wxwinter

3

6

http://localhost:1468/myWebDataService.svc/tabA('wxdlzm%20%20%20%20')

2008-11-17T11:28:10Z

wxdlzm

333

xxx

 

 

例4:分页

http://localhost:1468/myWebDataService.svc/tabA?$filter=a ne 'wxd' &$orderby=b &$skip=2&top=2

tabA

http://localhost:1468/myWebDataService.svc/tabA

2008-11-17T11:30:20Z

http://localhost:1468/myWebDataService.svc/tabA('wxdlzm%20%20%20%20')

2008-11-17T11:30:20Z

wxdlzm

333

xxx

 

 

例5:函数的使用

 

http://localhost:1468/myWebDataService.svc/tabA?$filter=a eq trim(' wxd ')

tabA

http://localhost:1468/myWebDataService.svc/tabA

2008-11-17T12:01:49Z

http://localhost:1468/myWebDataService.svc/tabA('wxd%20%20%20%20%20%20%20')

2008-11-17T12:01:49Z

wxd

1

4

 

 

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻