使用 ConditionExpression 类

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

在 Microsoft Dynamics 365(在线或本地) 中,您可以使用 ConditionExpression 类通过运算符(例如“等于”或“大于”)将属性与一个值或一组值进行比较。 通过 ConditionExpression 类可以将条件表达式作为参数传递给其他类,例如 QueryExpressionFilterExpression

下表列出了您可以使用 ConditionExpression 类设置的用于创建条件的属性。

属性

说明

AttributeName

指定条件表达式中属性的逻辑名称。

Operator

指定条件运算符。 它是使用 ConditionOperator 枚举设置的。

Values

指定属性的值。

使用 AddCondition 方法(或 ConditionExpression 的构造函数)时,请务必了解数组是作为多个值还是作为一个数组进行添加的。

以下代码示例根据数组的使用方式显示了两个不同的结果。

string[] values = new string[] { "Value1", "Value2" };
ConditionExpression c = new ConditionExpression("name", ConditionOperator.In, values);
Console.WriteLine(c.Values.Count); //This will output 2 
string[] values = new string[] { "Value1", "Value2" }object value = values;
ConditionExpression c = new ConditionExpression("name", ConditionOperator.In, value);
Console.WriteLine(c.Values.Count); //This will output 1 

在某些情况下,需要转换为 object[]object,具体取决于所需的行为。

当您创建比较属性值和枚举的条件(如,状态代码)时,您必须使用 ToString 方法将该值转换为字符串。

示例

以下代码示例演示如何使用 ConditionExpression 类。

//  Query using ConditionExpression  
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("---------------------------------------");

示例

下面的代码示例演示如何使用 ConditionExpression 类测试停用状态。

ConditionExpression condition3 = new ConditionExpression();
condition3.AttributeName = "statecode";
condition3.Operator = ConditionOperator.Equal;
condition3.Values.Add(AccountState.Active);

另请参阅

ConditionExpression
使用 QueryExpression 构建查询
使用 QueryExpression 构建查询
使用 FilterExpression 类

Microsoft Dynamics 365

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