ADO.NET 数据服务系统查询选项
URI 系统查询选项表示一些指令,可供 ADO.NET 数据服务用来控制对请求的响应。下表汇总了 ADO.NET 数据服务支持的选项。
有关受支持的系统查询选项的摘要
下表列出并描述了 ADO.NET 数据服务 URI 使用的查询选项。可为查询追加这些选项,以便对结果进行限制或排序。
选项 | 说明 |
---|---|
$expand |
用于请求将目标集引用的集以内联形式而不是作为延迟的内容返回。 |
$filter |
仅返回目标集中符合指定谓词的元素。 |
$orderby |
将目标实体集按升序或降序排序。 |
$skip |
在目标中搜索 n 个项,然后将 n+1 个项返回到集的结尾。 |
$top |
返回目标集中的前 n 个项。 |
如果指向不支持相应操作的资源的 URI 中包含查询选项,则将返回响应代码“400 错误的请求”。
查询选项的应用顺序
当 ADO.NET 数据服务应用此查询顺序时,按照下面的列表中指定的顺序执行。如果缺少任一选项,则跳过相应的步骤。
$filter
. 这将限制返回的元素集。
$orderby
. 这将设置返回的元素的顺序。
$skip
. 这将跳过大量元素。
$top
. 这将限制返回的元素数目。
$expand
. 这将返回与返回的基元素相关的内容。
URI http://www.example.com/service.svc/Orders?$orderby=ID&$top=10&$skip=10
指示返回的订单将是按照订单的 ID 属性值排序的订单列表中的 #11 到 #21。
每个 URI 支持的系统查询选项
下表枚举了每个类型的 URI 语法支持或不支持的查询选项。每个语法示例的后面都跟有一个表,此表列出了该语法支持的选项。
URI: serviceName/<EntitySet>
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
返回一个实体集。 |
$filter |
是 |
返回一个实体集。 |
$orderby |
是 |
返回一个实体集。 |
$skip |
是 |
返回一个实体集。 |
$top |
是 |
返回一个实体集。 |
URI: serviceName/<ResourceSet>(KeyPredicate)
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
返回指定条件标识的资源,通常是与基资源集相关的数据。 |
$filter |
是 |
如果筛选条件为 true,则返回资源;否则,将返回响应“404 找不到资源”。 |
$orderby |
否 |
|
$skip |
否 |
|
$top |
否 |
URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceComplexType>
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
总是扩展复杂类型,即使 URI 中不存在 |
$filter |
是 |
如果筛选条件为 true,则返回复杂类型实例;否则,将返回响应“404 找不到资源”。 |
$orderby |
否 |
|
$skip |
否 |
|
$top |
否 |
URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceComplexType>/<ResourceProperty>
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
总是扩展复杂类型,即使 URI 中不存在 |
$filter |
否 |
|
$orderby |
否 |
|
$skip |
否 |
|
$top |
否 |
URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceProperty>
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
总是扩展复杂类型,即使 URI 中不存在 |
$filter |
否 |
|
$orderby |
否 |
|
$skip |
否 |
|
$top |
否 |
URI: serviceName/<Resource Set>(KeyPredicate)/<ResourceNavigationProperty>
如果上一个示例中的导航属性表示一对一或多对一的关系,则对查询选项的描述如下表所示:
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
返回一个实体类型实例。 |
$filter |
是 |
返回一个实体类型实例。 |
$orderby |
否 |
|
$skip |
否 |
|
$top |
否 |
如果导航属性表示一对多或多对多的关系,则对查询选项的描述如下表所示:
选项 | 支持 | 说明 |
---|---|---|
$expand |
是 |
返回一个实体集 |
$filter |
是 |
返回一个实体集 |
$orderby |
是 |
返回一个实体集 |
$skip |
是 |
返回一个实体集 |
$top |
是 |
返回一个实体集 |