Dynamics crm 2011 CRM 2011 OData通配符子字符串?

Dynamics crm 2011 CRM 2011 OData通配符子字符串?,dynamics-crm-2011,odata,crm,Dynamics Crm 2011,Odata,Crm,我在oData规范或CRM文档中找不到任何引用,但在oData查询中使用筛选器的子字符串时,CRM(如果不是oData本身)似乎支持某种形式的通配符 例如,使用以下数据: [{ FullName: "Jim Glynn", EMailAddress1: "someone_j@example.com" }, { FullName: "Nancy Anderson", EMailAddress1: "someone_c@example.com" }, { FullName: "Maria

我在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文档中提到这一点,那将是很好的,但希望其他人会发现这是有用的。

特别是因为这不是ODATA标准的一部分:VS我不会依赖这个,因为我会认为这是一个bug。有人没有执行正确的SQL转义。。。