具有OptionSetValueCollection条件的CRM Online RetrieveMultiple

时间:2018-08-21 07:47:45

标签: c# dynamics-crm crm query-expressions

我正在尝试从多选项集选择列表中检索包含一些optionsetvalue的记录。

此行使我的代码失败:

int[] values = GetValues();
query.Criteria.AddCondition(new ConditionExpression(fieldName, 
ConditionOperator.ContainValues, values);

当我用逗号分隔符放置值时,代码起作用:

query.Criteria.AddCondition(new ConditionExpression(fieldName, 
ConditionOperator.ContainValues, 1,2,3);

唯一的问题是这些值是动态的,所以我不能这样做。 到目前为止,我找到克服它的唯一方法是:

FilterExpression filter = new FilterExpression(LogicalOperator.Or);
foreach (int value in values)
{
    filter.AddCondition(new ConditionExpression(fieldName, 
        ConditionOperator.ContainValues, value));
}
query.Criteria.AddFilter(filter);

只是想知道是否有比该解决方案更好的解决方案?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用In

Query data from multi-select picklists

  

使用Web API时,等效的ContainValues和   DoesNotContainValues个查询功能。

     

其他可与此类类型一起使用的现有条件运算符   属性包括:EqualNotEqualNotNullNullIn和   NotIn