クエリを作成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
クエリクライアントを使用して クエリを作成し 、次のいずれかのクエリを実行したり、結果を反復処理したりできます。
クエリ結果の表示
クエリを実行すると、IQueryResultが返されます。この結果には、次のプロパティがあります。
-
Items - クエリに一致したエンティティ/ID (合計結果のサブセットにすることができます)。
-
TotalNumberOfResults - Sitecore Content Hubでクエリに一致したアイテムの数 (すべてがItemsにあるわけではない場合でも)。
-
Offset - スキップされた項目の数。
1つのエンティティのクエリ
クエリが1つのエンティティのみに一致することが確実な場合は、SingleAsyncメソッドを使用できます。
複数の項目がクエリに一致すると、InvalidOperationExceptionがスローされます。
1つのエンティティIDのクエリ
クエリが1つのエンティティのみに一致することが確実な場合は、SingleIdAsyncメソッドを使用できます。
複数の項目がクエリに一致すると、InvalidOperationExceptionがスローされます。
1つまたは複数のエンティティのクエリ
1つ以上のエンティティをクエリするには:
IEntityQueryResult.Itemsには、返されたエンティティが含まれています。
1つまたは複数のエンティティIDのクエリ
1つ以上のエンティティIDをクエリするには:
IIdQueryResult.Itemsには、返されたID (long形式) が含まれています。
クエリ結果エンティティの反復処理
クエリが小さいサイズから中程度のサイズの結果を返す場合 (既定の構成は最大10.000の結果)、反復子を使用してエンティティを簡単にバッチ処理できます。
次のコード スニペットでは、反復子が作成されます。
次のコード スニペットでは、イテレータを使用してエンティティをバッチ処理しています。
whileループは、イテレータがエンティティのすべてのバッチの処理を完了すると自動的に終了します。
イテレータが設定された結果の最大数を超えると、サーバは例外をスローします。この場合、巻物が必要です。
クエリ結果エンティティIDの反復処理
クエリが小さいサイズから中程度のサイズの結果を返す場合 (既定の構成は最大10.000の結果)、イテレータを使用してエンティティIDを簡単にバッチ処理できます。
次のコード スニペットでは、反復子が作成されます。
次のコード スニペットでは、反復子を使用してエンティティIDをバッチ処理します。
whileループは、イテレータがエンティティのすべてのバッチの処理を完了すると自動的に終了します。
イテレータが設定された結果の最大数を超えると、サーバは例外をスローします。その場合は巻物が必要です。
非推奨のメモ
Queryクラスでは、EntityLoadOptionsプロパティとLoadConfigurationプロパティを設定することができます。最初のプロパティは古いWebApiClient SDKで使用され、3.0で非推奨になりました。3.1では、Queryクラスと負荷構成が分離されました。これらのプロパティは使用せず、クエリ オブジェクトを渡すときに負荷構成を追加パラメーターとして渡すことをお勧めします (該当する場合)。