URI のシステム クエリ オプションは、ADO.NET Data Services が要求に対する応答を制御するために使用するディレクティブを表します。次の表は、ADO.NET Data Services がサポートしているオプションを示しています。
サポートされているシステム クエリ オプションの概要
次の表は、ADO.NET Data Services の URI で使用されるクエリ オプションとその説明を示しています。これらのオプションは、結果を制限したり並べ替えたりするためにクエリに追加できます。
オプション | 説明 |
---|---|
$expand |
対象セットによって参照されるセットが遅延コンテンツとしてではなくインラインとして返されることを要求するために使用します。 |
$filter |
指定された述語を満たす対象セットの要素のみを返します。 |
$orderby |
対象エンティティ セットを昇順または降順で並べ替えます。 |
$skip |
対象で n 個のアイテムをシークし、n+1 番目からセットの最後までのアイテムを返します。 |
$top |
上位 n 個のアイテムを対象セットから返します。 |
操作をサポートしていないリソースの URI を使用したクエリ オプションが含まれている場合は、応答コード "400 正しくない要求" が返されます。
クエリ オプションの適用順序
ADO.NET Data Service でクエリ順序を適用する場合は、次の一覧に指定されている順序が使用されます。いずれかのオプションが欠けている場合、対応する手順はスキップされます。
$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 |
あり |
複合型は |
$filter |
あり |
フィルタ条件が true である場合は複合型インスタンスを返します。それ以外の場合は "404 リソースが見つかりません" の応答を返します。 |
$orderby |
なし |
|
$skip |
なし |
|
$top |
なし |
URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceComplexType>/<ResourceProperty>
オプション | サポートの有無 | メモ |
---|---|---|
$expand |
あり |
複合型は |
$filter |
なし |
|
$orderby |
なし |
|
$skip |
なし |
|
$top |
なし |
URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceProperty>
オプション | サポートの有無 | メモ |
---|---|---|
$expand |
あり |
複合型は |
$filter |
なし |
|
$orderby |
なし |
|
$skip |
なし |
|
$top |
なし |
URI: serviceName/<Resource Set>(KeyPredicate)/<ResourceNavigationProperty>
前の例のナビゲーション プロパティが 1 対 1 または多対 1 のリレーションシップを表す場合、クエリ オプションは次の表で示されます。
オプション | サポートの有無 | メモ |
---|---|---|
$expand |
あり |
エンティティ型インスタンスを返します。 |
$filter |
あり |
エンティティ型インスタンスを返します。 |
$orderby |
なし |
|
$skip |
なし |
|
$top |
なし |
ナビゲーション プロパティが 1 対多または多対多のリレーションシップを表す場合、クエリ オプションは次の表で示されます。
オプション | サポートの有無 | メモ |
---|---|---|
$expand |
あり |
エンティティ セットを返します。 |
$filter |
あり |
エンティティ セットを返します。 |
$orderby |
あり |
エンティティ セットを返します。 |
$skip |
あり |
エンティティ セットを返します。 |
$top |
あり |
エンティティ セットを返します。 |
参照
概念
ADO.NET Data Services のクエリ オプション
サービス操作のパラメータ (ADO.NET Data Services フレームワーク)