根据建议here和here,我应该可以应用tolower
来对OrganizationData.svc
端点的REST调用执行不区分大小写的字段匹配。< / p>
这是我的GET
请求:
/XRMServices/2011/OrganizationData.svc/ContactSet?$filter=tolower(EMailAddress1) eq 'me@awesome.com'
我得到以下结果:
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>-2147220715</code>
<message xml:lang="en-US">
Invalid 'where' condition. An entity member is invoking an invalid property or method.
</message>
</error>
我做错了什么?如何使用REST端点对EmailAddress1
实体上的Contact
字段进行不区分大小写的匹配?
(注意:我知道我可以将SQL Server排序规则更改为不区分大小写,但我也需要这样才能在线运行Dynamics。)
解
因此看起来在动态REST API的OData实现中根本不支持tolower
。如果您需要进行不区分大小写的匹配,我找到的唯一方法是在内部部署安装中更改SQL Server database collation。
对于Dynamics在线,您可能需要编写一个触发实体创建/更新的插件,并将该字段转换为小写。
答案 0 :(得分:0)
你无法做到这一点。默认情况下,所有信息(以及CRM Online中)都存储在区分大小写的数据库中,因此您将无法进行不区分大小写的搜索。