本帖最后由 katherinebai 于 2016-8-10 17:27 编辑
上节中我们介绍了活字格可以使用OData进行数据查询,并且提供了四种方式,那么OData参数该怎么写呢?本节主要介绍最基本的数据库查询使用到的OData语法。
为了简单起见,我以URL方式通过示例介绍下其语法。假设数据库中存在一张人员表如下:
基于这张表可以进行以下查询:
1. 获取人员表中的所有数据。
- http://.../OData/GetData/人员
复制代码 2. 单主键表中通过主键ID获取人员表中ID等于1的行数据,列名可以省略。- http://.../OData/GetData/人员(1)
复制代码 3. 多主键表中通过主键OrderID和ProductID获取OrderDetails表中的OrderID等于10000并且ProductID等于17的行数据,列名不能省略。
- http://.../OData/GetData/OrderDetails(OrderID=10000,ProductID=17)
复制代码 4. 获取人员表中ID等于1的姓名,返回一个对象,比如[{"姓名":"张三"}]。
- http://.../OData/GetData/人员(1)/姓名
复制代码 5. 获取人员表中ID等于1的姓名,返回一个值,比如"张三"。
- http://.../OData/GetData/人员(1)/姓名/$value
复制代码 6. 通过filter查询人员表中年龄大于20的员工数据。
- http://.../OData/GetData/人员?$filter=年龄 gt 20
复制代码 7. 多条件查询。查询人员表中姓名中包含"张"字并且年龄大于20的记录。- http://.../OData/GetData/人员?$filter=contains(姓名, '张') and 年龄 gt 20
复制代码 8. 关于时间的查询。查询出差表中申请日期大于或等于2010年9月20号的出差单。
- http://.../OData/GetData/出差?$filter=申请日期 ge 2010-09-20
复制代码 9. 获取人员表中所有行的姓名和年龄字段的数据。
- http://.../OData/GetData/人员?$select=姓名,年龄
复制代码 10. 获取人员表中的所有数据。select=*可以省略。
- http://.../OData/GetData/人员?$select=*
复制代码
|
|