CRM 2011 OData substringof Wildcards?

时间:2014-01-16 13:43:37

标签: dynamics-crm-2011 odata crm

我在oData规范或CRM文档中找不到任何引用,但似乎CRM(如果不是oData本身)在oData查询中使用substringof过滤器时支持某种形式的通配符。

例如使用以下数据:

[{
 FullName: "Jim Glynn",
 EMailAddress1: "someone_j@example.com"
},
{
 FullName: "Nancy Anderson",
 EMailAddress1: "someone_c@example.com"
},
{
 FullName: "Maria Campbell",
 EMailAddress1: "someone_d@example.com"
}]

以下oData查询将返回所有3条记录,而我希望只获得第二条记录:

OrganizationData.svc/ContactSet?$select=FullName,EMailAddress1&$filter=substringof('_c',EMailAddress1)

但是,在字符串值中添加“@”将正确返回第二条记录:

OrganizationData.svc/ContactSet?$select=FullName,EMailAddress1&$filter=substringof('_c@',EMailAddress1)

我们仔细阅读了oData文档以及MS文档,但根本找不到任何对通配符支持的引用。但我们能想到的唯一解释是下划线被用作通配符。如果这是真的,那么知道如何逃避它以正确执行'_c'上的搜索就好了,就像我们上面的第一个查询字符串一样。

任何人都可以提供任何见解吗?

1 个答案:

答案 0 :(得分:2)

好的,我们弄清楚了 - 这是一个执行SQL查询,所以它在那里使用SQL通配符。如果在oData或MS文档中有任何提及,那将是很好的,但希望其他人会觉得这很有用。