次の方法で共有


QueryExpression クラスの使用

Microsoft Dataverse では、QueryExpression クラスを使用して、IOrganizationService.RetrieveMultiple メソッドまたは RetrieveMultipleRequest メッセージによってクエリの結果セットを絞り込むことができます。 QueryExpression に対するクエリ パラメーターは、ConditionExpressionColumnSet、および FilterExpression の各クラスを使用して設定できます。

QueryExpression クラスを使用すると、複雑なクエリを作成できます。 QueryByAttribute クラスは、指定した値と列が一致するテーブル行を簡単に検索できるよう設計されています。

レコードのカウント

クエリで返るレコードの数を調べるには、クエリを実行する前に ReturnTotalRecordCount プロパティを true に設定します。 これを行うと、TotalRecordCount が設定されます。 そうでない場合、この値は -1 です。

次のサンプルは、QueryExpression クラスの使用方法を示します。

//  Query using ConditionExpression and FilterExpression  
ConditionExpression condition1 = new ConditionExpression();  
condition1.AttributeName = "lastname";  
condition1.Operator = ConditionOperator.Equal;  
condition1.Values.Add("Brown");              
  
FilterExpression filter1 = new FilterExpression();  
filter1.Conditions.Add(condition1);  
  
QueryExpression query = new QueryExpression("contact");  
query.ColumnSet.AddColumns("firstname", "lastname");  
query.Criteria.AddFilter(filter1);  
  
EntityCollection result1 = _serviceProxy.RetrieveMultiple(query);  
Console.WriteLine();Console.WriteLine("Query using Query Expression with ConditionExpression and FilterExpression");  
Console.WriteLine("---------------------------------------");  
foreach (var a in result1.Entities)  
{  
    Console.WriteLine("Name: " + a.Attributes["firstname"] + " " + a.Attributes["lastname"]);  
}  
Console.WriteLine("---------------------------------------");  

クエリ内の SQL ヒントを使用

QueryExpression クラスでは QueryHints という名前のプロパティが含まれています。 このプロパティを以下に示すサポートされている文字列値のいずれかに設定することにより、クエリの実行に影響する生成された SQL テキストのヒントを提供できます。

QueryHint 値 SQL クエリ オプションとヒント
OptimizeForUnknown 不明の最適化
ForceOrder 強制注文
DisableRowGoal ヒントを使用する ('Disable_Optimizer_RowGoal')
EnableOptimizerHotfixes ヒントを使用 ('ENABLE_QUERY_OPTIMIZER_HOTFIXES')
LoopJoin ループ結合
MergeJoin マージ結合
HashJoin ハッシュ結合
NO_PERFORMANCE_SPOOL NO_PERFORMANCE_SPOOL
MaxRecursion MAXRECURSION 番号
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

詳細: ヒント (Transact-SQL) - クエリ

関連項目

QueryExpression でクエリを作成する
ColumnSet クラスの使用
ConditionExpression クラスの使用
FilterExpression クラスの使用
QueryExpression

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。