OData 1-5 OData语法(下)

本文详细介绍了OData服务中的各种查询选项,包括属性和关系的展开、特定字段的选择、记录计数、排序、分页及元数据获取等操作。通过实际URL示例,帮助读者更好地理解和使用这些查询选项。

接上篇 http://www.cnblogs.com/PurpleTide/archive/2010/12/21/1912299.html 

7) $expand 包含属性和关系

  假设的WagerInformation拥有一个属性 UserInformation User 表示用户信息,  另一个属性 IEnumerable<CommonInformation> Commons 表示评论信息

  使用 http://localhost:9527/ODataService.svc/WagerInformations?$expand=User ,Commons

  返回的信息中就会包含相关类 (用于主外键关系)

  - -# 如果不手动指定 而是自动关联....那就悲剧了 可能数据库中的所有表都有联系...然后把整个数据库返回.....

  以前做过很囧的事情.就是开了级联删除...然后删除了一个很基本的配置项.....整个数据库基本空了

8) $select 查询字段的列表(和sql中select后面的表达式一样)

  以下url只想返回查询所有信息的EventName属性

  http://localhost:9527/ODataService.svc/WagerInformations?$select=EventName  

  如果WagerInformation有一个User属性 其包含一个UserName那么查询username的url如下

  http://localhost:9527/ODataService.svc/WagerInformations?$select=User/UserName

9) $count 查询数量

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

  返回的是真实数据不包含任何修饰 (raw data) 传回的http body中就只有一个 "5"  (不包含引号)

10) $orderby  排序

  以下表达式按照BusinessUnitCode 降序 ,然后 EventName 升序排列

   http://localhost:9527/ODataService.svc/WagerInformations?$orderby=BusinessUnitCode desc,EventName asc

 

11) $top

  在10的基础上 如果我只想返回第一条数据 那么如下

  http://localhost:9527/ODataService.svc/WagerInformations?$orderby=BusinessUnitCode desc,EventName asc&$top=1

  这里依然还是用& 来分隔不同的表达式

 

12) $skip

  这东西一般和$top配合来分页

  以下表达式跳过第一条, 然后返回最多10条数据

  http://localhost:9527/ODataService.svc/WagerInformations?$top=10&$skip=1

13) $inlinecount

  在分页取数据的时候,经常要同时统计总记录数

  以下表达式在返回分页数据的同时,顺便同时返回所有的记录数

  http://localhost:9527/ODataService.svc/WagerInformations?$top=2&$skip=2&$inlinecount=allpages

  如果表达式中有$filter  条件表达式 ,那么返回的就是符合条件的所有数据的数量

  http://localhost:9527/ODataService.svc/WagerInformations?$filter=BusinessUnitCode eq '1'&$inlinecount=allpages

14) $skiptoken

  例如游标或者书签的一个东西

15)$links

  获取相关实体的url 

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

16)$metadata

  显示元数据

  http://localhost:9527/ODataService.svc/$metadata 

 

 

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

转载于:https://www.cnblogs.com/PurpleTide/archive/2010/12/21/1912395.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值