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
网友评论