使用 ConditionExpression 类
发布日期: 2017年1月
适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online
在 Microsoft Dynamics 365(在线或本地) 中,您可以使用 ConditionExpression 类通过运算符(例如“等于”或“大于”)将属性与一个值或一组值进行比较。 通过 ConditionExpression 类可以将条件表达式作为参数传递给其他类,例如 QueryExpression 和 FilterExpression。
下表列出了您可以使用 ConditionExpression 类设置的用于创建条件的属性。
属性 |
说明 |
---|---|
指定条件表达式中属性的逻辑名称。 |
|
指定条件运算符。 它是使用 ConditionOperator 枚举设置的。 |
|
指定属性的值。 |
使用 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。 保留所有权利。 版权