CRM 2011 OData 子字符串的通配符



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

例如,使用以下数据:

[{
 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 条记录,而我希望只获得第 2 条记录:

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

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

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

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

谁能提供任何见解?

好的,

我们想通了 - 这是一个执行SQL查询,所以它在那里使用SQL通配符。如果在 oData 或 MS 文档中提到这一点会很好,但希望其他人会发现这很有用。

最新更新