次の方法で共有


ADO.NET Data Services のシステム クエリ オプション

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

あり

複合型は $expand が URI に存在しない場合でも常に展開されます。

$filter

あり

フィルタ条件が true である場合は複合型インスタンスを返します。それ以外の場合は "404 リソースが見つかりません" の応答を返します。

$orderby

なし

$skip

なし

$top

なし

URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceComplexType>/<ResourceProperty>
オプション サポートの有無 メモ

$expand

あり

複合型は $expand が URI に存在しない場合でも常に展開されます。リソース プロパティが複合型でない場合、展開できる独自のプロパティはありません。

$filter

なし

$orderby

なし

$skip

なし

$top

なし

URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceProperty>
オプション サポートの有無 メモ

$expand

あり

複合型は $expand が URI に存在しない場合でも常に展開されます。リソース プロパティが複合型でない場合、展開できる独自のプロパティはありません。

$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 フレームワーク)