使用 QueryExpression 类

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

在 Microsoft Dynamics CRM 2015 和 Microsoft Dynamics CRM Online 中,您可以使用 QueryExpression 类生成复杂查询与 IOrganizationService.RetrieveMultiple 方法或 RetrieveMultipleRequest 消息一起使用。 您可以使用 QueryExpressionConditionExpressionColumnSet 类将查询参数设置为 FilterExpression

QueryExpression 类可用于创建复杂查询。QueryByAttribute 类旨在作为简单的搜索方式,用于搜索属性匹配指定值的实体。

下表列出了您设置的用于创建查询表达式的属性。

属性

说明

EntityName

指定将检索哪种类型的实体。 一个查询表达式仅检索一个实体类型集合。

ColumnSet

指定要检索的属性(列)的集合。

Criteria

指定复杂条件和逻辑筛选器表达式,用于筛选查询结果。

Distinct

指定查询的结果是否包含重复记录。

LinkEntities

指定多个实体类型之间的链接。

Orders

指定从查询返回的记录的顺序。

PageInfo

指定从查询返回的页数和每页中的记录数量。

记录计数

若要找出查询返回的记录数量,请在执行查询之前将 ReturnTotalRecordCount 属性设置为 true。 执行此操作时,将设置 TotalRecordCount。 否则,此值将为 -1。

示例

以下示例说明了如何使用 QueryExpression 类。

//  Query using ConditionExpression and FilterExpressionConditionExpression 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 类

© 2017 Microsoft。 保留所有权利。 版权