QueryExpression クラスの使用

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

Microsoft Dynamics 365 および Microsoft Dynamics 365 (オンライン) では、QueryExpression クラスを使用して、IOrganizationService.RetrieveMultiple メソッドまたは RetrieveMultipleRequest メッセージで使用する複雑なクエリを作成できます。QueryExpression に対するクエリ パラメーターは、ConditionExpressionColumnSet、および FilterExpression の各クラスを使用して設定できます。

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

次の表に、クエリ式を作成する際に設定するプロパティを一覧表示します。

プロパティ

説明

EntityName

取得するエンティティの種類を指定します。 クエリ式では、1 種類のエンティティのコレクションのみ取得できます。

ColumnSet

取得する一連の属性 (列) を指定します。

Criteria

クエリの結果をフィルターする複雑な条件式および論理フィルター式を指定します。

Distinct

クエリの結果に重複するレコードを含めるかどうかを指定します。

LinkEntities

複数のエンティティ種類間のリンクを指定します。

Orders

クエリでレコードを返す順序を指定します。

PageInfo

クエリで返されるページ数、およびページごとのレコード数を指定します。

レコードのカウント

クエリで返るレコードの数を調べるには、クエリを実行する前に 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("---------------------------------------");

関連項目

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

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権