概念
OData是开放数据协议,描述如何创建和访问Restful服务的OASIS标准
操作
GET 客户端从服务器获取数据
POST、PUT 从客户端推送数据到服务器
DELETE 删除数据
实体: Entity、表、对象
实例对象: 同一个实体的集合
属性: 实体中的字段
导航属性: 用于外键关联的实体
比较操作字符
eq 等于
ne 不等于
gt 大于
ge 大于等于
lt 小于
le 小于等于
逻辑操作字符
and 与
or 或
not 非
() 优先级分组,主要用于多个条件的情况
算数运算符
add 加
sub 减
mul 乘
div 除
mod 取模
常用函数
contains / not contains 是否包含某个特定字符串
startswith / not startswith 是否以某个字符串开头
endswith / not endswith 是否以某个字符串结尾
year 返回日期中的年
month 返回日期中的月
day 返回日期中的日
trim 去头尾空格
contact 字串拼接
totaloffsetminutes 有符号的分钟数
常用语法
$format=json JSON格式(OData默认支持xml格式)
$filter=[节点] eq. [value] 过滤器
$select=[节点] 筛选固定属性
$count 计数操作
$expand 关联查询
$orderby 排序,默认正序,倒叙“空格+desc”
$top=n 返回前n条
$skip=n 跳过第n条
列出所有EntityType
get ~/api/odata/$metadata
列出所有的persons
get ~/api/odata/Persons?$format=json
按主键查询
get ~/api/odata/Persons(1)
获取对象属性
get ~/api/odata/Persons(1)/Name
获取对象属性值
get ~/api/odata/Persons(1)/Name/$value
filter过滤查询, 返回Name= “Jose Pavarotti”的数据
get ~/api/odata/Persons?filter=Name eq’Jose Pavarotti’ &filter=Name eq’Jose Pavarotti’ &format=json
filter and 过滤查询
get ~/api/odata/Persons?filter=(Name eq’Jose Pavarotti’)and (ID eq 1) &filter=(Name eq’Jose Pavarotti’)and (ID eq 1) &format=json
filter or 过滤查询
get ~/api/odata/Persons?filter=(Name eq’Jose Pavarotti’)or (ID eq 0) &filter=(Name eq’Jose Pavarotti’)or (ID eq 0) &format=json
查询数量
get ~/api/odata/Persons/$count
$select 筛选固定字段
get ~/api/odata/Persons?select=Name&select=Name&format=json
$top返回第一条数据
get ~/api/odata/Persons?top=1&top=1&format=json
$orderby 按照某个字段排序
get ~/api/odata/Persons?orderby=Nameorderby=Nameformat=json
read 读取数据列表
create 创建新数据
update 更新数据
remove 删除数据