クエリ クライアント
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
この SDK には、クエリを実行するクエリ クライアントがあります。
次のコード例の client 変数は IMClient インスタンスを意味します。Web SDK を使用する場合、変数名は自由に選択できますが、ドキュメントの例では client という名前が使われています。
クエリの作成
クエリの作成
クエリの作成の詳細については、「LINQ セクションを使用したクエリの作成」を参照してください。
クエリ結果の処理
クエリ結果の処理
クエリの実行後、IQueryResult が返されます。この結果には、次のプロパティがあります。
Items: クエリに一致したエンティティ/ID (合計結果全体のサブセットとなる場合があります)TotalNumberOfResults: Sitecore Content Hub のクエリに一致したアイテムの数 (Itemsに含まれていないアイテムも含みます)。Offset: スキップされたアイテムの数。
単一のエンティティに対するクエリ
単一のエンティティに対するクエリ
クエリが単一のエンティティのみに一致することが確実な場合は、SingleAsync メソッドの使用が便利です。
クエリに複数のアイテムが一致する場合、InvalidOperationException がスローされます。
単一のエンティティ ID に対するクエリ
単一のエンティティ ID に対するクエリ
クエリが単一のエンティティのみに一致することが確実な場合は、SingleIdAsync メソッドの使用が便利です。
クエリに複数のアイテムが一致する場合、InvalidOperationException がスローされます。
1 つまたは複数のエンティティに対するクエリ
1 つまたは複数のエンティティに対するクエリ
1 つまたは複数のエンティティに対してクエリを実行するには、次のようにします。
IEntityQueryResult.Items には、返されたエンティティが含まれています。
1 つまたは複数のエンティティ ID に対するクエリ
1 つまたは複数のエンティティ ID に対するクエリ
1 つまたは複数のエンティティ ID に対してクエリを実行するには、次のようにします。
IIdQueryResult.Items には、返された ID (long 形式) が含まれています。
クエリ結果エンティティの反復
クエリ結果エンティティの反復
クエリが小サイズから中程度のサイズの結果を返す場合 (既定の設定では最大 10,000 件の結果)、イテレーターを使用してエンティティを簡単にバッチ処理できます。
次のスニペットは、イテレーターを作成しています。
次のスニペットでは、イテレーターを使用してエンティティをバッチ処理しています。
イテレーターがエンティティのすべてのバッチの処理を終了すると、while ループは自動的に終了します。
イテレーターが設定された最大結果数を超えると、サーバーは例外をスローします。その場合は、スクロールが必要になります。
クエリ結果エンティティ ID の反復
クエリ結果エンティティ ID の反復
クエリが小サイズから中程度のサイズの結果を返す場合 (既定の設定では最大10,000 件の結果)、イテレーターを使用してエンティティ ID を簡単にバッチ処理できます。
次のスニペットは、イテレーターを作成しています。
次のスニペットでは、イテレーターを使用してエンティティ ID をバッチ処理しています。
イテレーターがエンティティのすべてのバッチの処理を終了すると、while ループは自動的に終了します。
イテレーターが設定された最大結果数を超えると、サーバーは例外をスローします。その場合は、スクロールが必要になります。
非推奨ノート
非推奨ノート
Query クラスに、EntityLoadOptions プロパティと LoadConfiguration プロパティを設定することが可能です。1 つ目のプロパティは過去の WebApiClient SDK で使用されていましたが、3.0 では非推奨になりました。3.1 では、Query クラスと読み込み設定が分離されました。これらのプロパティの使用は控えることをお勧めしますが、必要に応じて、クエリ オブジェクトを渡すときの追加のパラメーターとして読み込み設定を渡せます。