OData 1-4 OData语法(上)

假设目前提供OData的服务地址是

http://localhost:9527/ODataService.svc

提供的服务内容如下所示 (提供了一个WagerInformations)

 

代码
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<service xml:base="http://localhost:9527/ODataService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
<workspace>
<atom:title>Default</atom:title>
<collection href="WagerInformations">
<atom:title>WagerInformations</atom:title>
</collection>
</workspace>
</service>

 

 

 

1.基础查询

  1)列出所有的WagerInformations

    http://localhost:9527/ODataService.svc/WagerInformations

  2)按照主键查询

    http://localhost:9527/ODataService.svc/WagerInformations(1)

     PS:在.net里面一般使用DataServiceKeyAttribute标识主键

  3)获取某个对象的一个成员

    http://localhost:9527/ODataService.svc/WagerInformations(1)/EventName

    获取主键为1的WagerInformations的EventName属性

  4)如果这个属性还有属性 那么依此类推

    http://localhost:9527/ODataService.svc/WagerInformations(1)/Event/EventDateTime

    另外不要试图获取原始类型的一些属性 - -# 例如返回 String的Length属性

  5) $value 方案3返回对象的一个成员用的是Xml的数据格式.实际上我们很多时候不需要那么多的标签,只想拿返回值

    那么使用url http://localhost:9527/ODataService.svc/WagerInformations(1)/EventName/$value

    方案3的数据 <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <EventName xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">test 1</EventName>

    方案5的数据 test 1

  6) $filter  条件表达式

    查询EventName 等于 "test 1" 的表达式如下

    http://localhost:9527/ODataService.svc/WagerInformations?$filter=EventName  eq 'test 1'

    查询时间:

    http://localhost:9527/ODataService.svc/WagerInformations?$filter=EventDateTime eq DateTime'2010-12-21T10:10:19.390625'

     组合查询表达式: and操作

    http://localhost:9527/ODataService.svc/WagerInformations?$filter=(EventDateTime eq DateTime'2010-12-21T10:10:19.390625' ) and (BusinessUnitCode eq '2')

  

 

以下是运算符列表 

Operator

Description

C#         equivalent

eq

equals

==

ne

not equal

!=

gt

greater than

>

ge

greater than or equal

>=

lt

less than

<

le

less than or equal

<=

and

and

&&

or

or

||

()

grouping

()

 

 

原文地址:http://blogs.msdn.com/b/alexj/archive/2009/11/18/tip-44-how-to-navigate-an-odata-compliant-service.aspx

 

posted on 2010-12-21 10:51  听说读写  阅读(26428)  评论(3编辑  收藏  举报

导航