使用 QueryExpression 类
发布日期: 2017年1月
适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online
在 Microsoft Dynamics 365 和 Microsoft Dynamics 365 (online) 中,您可以使用 QueryExpression 类生成复杂查询与 IOrganizationService.RetrieveMultiple 方法或 RetrieveMultipleRequest 消息一起使用。 您可以使用 QueryExpression、ConditionExpression 和 ColumnSet 类将查询参数设置为 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("---------------------------------------");
另请参阅
QueryExpression
使用 QueryExpression 构建查询
使用 ColumnSet 类
使用 ConditionExpression 类
使用 FilterExpression 类
Microsoft Dynamics 365
© 2017 Microsoft。 保留所有权利。 版权