使用 IN 运算符 OData 4.0“错误请求”FetchXML Builder xrmtoolbox

问题描述

通过在 XrmtoolBox 中使用 FetchXML Builder,我有一个 OData 4.0 字符串:

.../contacts?$filter=(searchable eq true) 
             or (contains(firstname,'%25firstName%25)' 
             or contains(lastname,'%25lastName%25') 
             or Microsoft.Dynamics.CRM.In(PropertyName= '_accountid_value',PropertyValues=['00000000-0000-0000-0000-000000000000','c198b30d-8d4e-eb11-a812-000d3ab5acdf','6c9caaac-a755-eb11-a812-0022489b9c9c']) 
             or Microsoft.Dynamics.CRM.In(PropertyName= 'contactid','30262317-0a83-eb11-a812-000d3ab02826']))

我在查询中手动将“and”更改为“or”,所以恐怕这只是我遗漏的一个小细节。但是,我之前从未在此工具中使用过 IN 运算符,因此我担心这可能是我使用它的方式有问题/我做错了什么。

我怎么知道字符串有问题? 下图显示了我尝试获取数据时的 C# 代码。这是我无法通过的地方,因为我从 HTTPClient.GetAsync 方法收到“错误请求”。我知道方法调用不是问题,因为我在其他几个地方这样做,因此只能假设它是 OData 字符串。我之前也遇到过“错误请求”并修复了它,使 OData 字符串正确。

enter image description here

有没有其他人遇到过这个问题或知道我忽略的 OData 字符串有什么问题?

编辑: 我检查了@PanagiotisKanavos 链接的文档。不幸的是,这也给了我“错误的请求”。

".../contacts?$filter=(searchable eq true) or (contains(firstname,'%25Mat%25)' or contains(lastname,'%25son%25') or _accountid_value in ('c198b30d-8d4e-eb11-a812-000d3ab5acdf','6c9caaac-a755-eb11-a812-0022489b9c9c') or contactid in ('30262317-0a83-eb11-a812-000d3ab02826'))"

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...