Odata的使用

OData:开放数据协议(OData)是一个查询和更新数据的Web协议。

一、函数的使用

contains(包含)

$filter=contains(Name,'mumu')
Name中包含‘mumu’的所有信息,这样就达到了模糊查询的效果,只输入其中的几个字符便可查到所有包含这几个字符的信息

not contains(不包含)

$filter=not contains(Name,'mumu')
Name中不包含‘mumu’的所有信息,与contains效果相反,是不包含

startswith(以xx开头)

$filter=startswith(Name, 'mumu')
Name以mumu开头的所有信息

endswith(以xx结尾)

$filter=endswith(Name, 'mumu')
Name以mumu结尾的所有信息

length(字符长度等于x)

$filter=length(Name) eq 7
Name中字符长度等于7的所有信息

indexof(字符长度等于x索引为n开始包含xx字符)

$filter=indexof(Name, 'mumu') eq 7
Name从第八个字母开始包含mumu的所有信息

replace(替换)

$filter=replace(Name, 'm', 'u') eq 'mumu'
Name等于mumu的信息中m被u替换

substring(从第n个字符开始)

$filter=substring(Name, 1) eq 'mumu'
Name从第二个字符开始是mumu的所有信息
$filter=substring(Name, 1, 2) eq 'mu'
Name的第二个和第三个字符是mu的所有信息

tolower(转换为小写)

$filter=tolower(Name) eq 'Mu'
Name等于Mu的字符都转换为小写

toupper(转换为大写)

$filter=toupper(Name) eq 'Mu'
Name等于Mu的字符都转换为大写

trim(去空格后)

$filter=length(trim(Name)) eq length(mu)
Name去调空格后依旧等于mu的所有信息

二、$filter

运算符列表

运算符 描述 示例 对应C#运算符
eq 等于 $filter=Name eq 'Candice' ==
ne 不等于 $filter=Name ne 'Candice' !=
gt 大于 $filter=Age gt 18 >
ge 大于等于 $filter=Age ge 18 >=
lt 小于 $filter=Age lt 18 <
le 小于等于 $filter=Age le 18 <=
and $filter=Name eq 'Candice' and Age le 18 &&
or $filter=Name eq 'Candice' or Age le 18 II
() 分组 $filter=(Name eq 'Candice' and Age lt 18) or (Name eq 'Candy' and Age gt 18) ()

三、$orderby 排序

http://localhost:5000/userInfo?$orderby=name desc,EventName asc
name 降序 ,然后 EventName 升序排列

四、$top

http://localhost:5000/userInfo?$top=5
返回最多5条数据

五、$skip

和top=5&$skip=1`
跳过第一条, 然后返回最多5条数据

六、$inlinecount

分页取数据的时候,同时统计总记录数
http://localhost:5000/userInfo?$top=5&$skip=1&$inlinecount=allpages

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

以下url只想返回查询所有信息的EventName属性
http://localhost:5000/userInfo?$select=EventName

如果WagerInformation有一个User属性 其包含一个UserName那么查询username的url
http://localhost:5000/userInfo?$select=User/UserName

你可能感兴趣的:(Odata的使用)