通过optionsetvalue过滤Dynamics CRM Odata查询

时间:2016-11-15 18:51:38

标签: javascript odata microsoft-dynamics

如何按选项集值过滤记录?我这样想:

 "$select=new_id&$filter=new_campaignid/Id eq guid'" + myId+ "' and new_optionsetfield eq '" + optionsetCode + "'"

但这不起作用。我继续收到错误消息的错误请求:

Operator 'eq' incompatible with operand types 
'Microsoft.Crm.Metadata.ComplexTypeInstance`1[[Microsoft.Xrm.Sdk.OptionSetValue, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]' 
and 'System.String' at position 96.

2 个答案:

答案 0 :(得分:4)

我很确定这就是你所需要的:

"$select=new_id&$filter=new_campaignid/Id eq guid'" + myId+ "' and new_optionsetfield/Value eq " + optionsetCode

已编辑:删除了引号,因为这是一个int值,而不是字符串

这是一个精确的工作样本:

AccountSet?$filter=CustomerTypeCode/Value eq 1

答案 1 :(得分:0)

我的Dynamics CRM 365过滤器之一(内部)看起来像这样

var filter = "(substringof('SomeStringValue', Description) eq false) and (StatusCode/Value ne 1)";