我在oData规范或CRM文档中找不到任何参考,但是在oData查询中使用substringof过滤器时,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条记录,而我预计只会得到第二条记录:
OrganizationData.svc/ContactSet?$select=FullName,EMailAddress1&$filter=substringof('_c',EMailAddress1)但是,将'@‘添加到字符串值将正确地仅返回第二条记录:
OrganizationData.svc/ContactSet?$select=FullName,EMailAddress1&$filter=substringof('_c@',EMailAddress1)我们仔细阅读了oData文档和MS文档,但根本找不到任何有关通配符支持的引用。但我们能想到的唯一解释是下划线被用作通配符。如果这是真的,那么知道如何转义它以正确执行上面第一个查询字符串中的'_c‘搜索就更好了。
有人能提供一些见解吗?
发布于 2014-01-16 22:24:54
好的,我们弄清楚了--这是一个执行SQL查询的过程,所以它在里面使用了SQL通配符。如果在oData或MS文档中有提到这一点就更好了,但希望其他人会发现这一点很有用。
https://stackoverflow.com/questions/21163475
复制相似问题