假设目前提供OData的服务地址是
http://localhost:9527/ODataService.svc
提供的服务内容如下所示 (提供了一个WagerInformations)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
< 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'
查询时间:
组合查询表达式: 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 | ()
|