MVC
1、由控制器,视图,模型三样结合,控制器返回的数据可以直接返回到视图界面进行数据绑定
2、根据客户端接受的格式要求,返回相应的Json、Xml、Atom类型Webapi
1、提供一些接口,通常用的是Json类型,可以让界面多样化,
2、可以返回特定的数据类型
上面的两者都是Url请求数据
Odata
1.使用时必须要用EF,webapi接口
2.webapi跟Odata的区别就是,Odata可以直接调用方法在Url地址栏里进行数据的过滤加工
上面三者的都是由
1、根据请求Url匹配路由模板
2、找到控制器3、找到Action Action就是控制器执行完毕后返回的处理结果
来处理结果的
odata的语法
1.$filter条件表达式,筛选
查询Name等于张三的
?$filter=Name eq'张三'
2.$value返回一个对象的value值
在后面直接加/$value
3.$expand 利用数据库的表关系来查询(连表查)
?$expand=Uers,Nation
4.select 查询字段
?$select=Name
5.$count 查询数量
在后面直接加/$count就可以查询到数量
6.$orderby 排序
?$orderby=Id desc //降序, Name asc//升序
7.$top
返回一条数据
$top=1
8.$skip 跳过
$skip=10 //跳过10条
9.$inlinecount
在分页取数据的时候,经常要同时统计总记录数,以下表达式在返回分页数据的同时,顺便同时返回所有的记录数
?$top=2&$skip=2&$inlinecount=allpages
10.$skiptoken //书签一类
11.$links //获取相关实体的Url
/$links/Users
12.$metadata //显示元数据
/$metadata
Odata的运算符
Odata运算符 | 名称 | C#运算符 |
eq | 等于 | == |
ne | 不等于 | != |
gt | 大于 | > |
ge | 大于等于 | >= |
lt | 小于 | < |
le | 小于等于 | <= |
and | 并且 | && |
or | 或者 | || |
() | 分组 | () |