2014-01-16 2 views
1

oData 사양 또는 CRM 문서에서 참조를 찾을 수 없지만 oData 쿼리에서 하위 문자열 필터를 사용할 때 CRM (oData 자체가 아닌 경우)이 와일드 카드 양식을 지원하는 것으로 보입니다. 예를 들어CRM 2011 OData 하위 문자열 와일드 카드?

다음 데이터 사용 : 나는 단지 하나의 둘째 얻을 기대하는 반면

[{ 
FullName: "Jim Glynn", 
EMailAddress1: "[email protected]" 
}, 
{ 
FullName: "Nancy Anderson", 
EMailAddress1: "[email protected]" 
}, 
{ 
FullName: "Maria Campbell", 
EMailAddress1: "[email protected]" 
}] 

다음 중 하나로, OData 쿼리 3 개 레코드를 반환합니다 :

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

는 그러나, '추가를 @ '문자열 값을 정확하게 두 번째 레코드를 반환합니다 :

OrganizationData.svc/ContactSet?$select=FullName,EMailAddress1&$filter=substringof('[email protected]',EMailAddress1) 

우리는 pored oData 문서와 MS 문서를 비교하여 와일드 카드 지원에 대한 참조를 전혀 찾을 수 없습니다. 그러나 우리가 생각할 수있는 유일한 설명은 밑줄이 와일드 카드로 사용된다는 것입니다. 이것이 사실이라면 위의 첫 번째 쿼리 문자열에서와 같이 '_c'에 대한 검색을 제대로 실행하는 방법을 알 수 있습니다.

아무도 통찰력을 제공 할 수 있습니까?

답변

2

우리가 알아 낸 것은 - 그것은 SQL 쿼리를 수행하므로 거기에 SQL 와일드 카드를 사용하고 있습니다. oData 또는 MS 문서에이 점에 대한 언급이 있으면 좋겠지 만 다른 사람이 유용하다고 생각하면 좋을 것입니다.

+0

특히 OData 표준의 일부가 아니기 때문에 : http://services.odata.org/AdventureWorksV3/AdventureWorks.svc/ProductCatalog()?$filter=substringof('a',Description)&$select = 설명 vs http://services.odata.org/AdventureWorksV3/AdventureWorks.svc/ProductCatalog()?$filter=substringof('_a',Description)&$select=Description – Daryl

+0

나는 이것에 의존하지 않을 것입니다. 이것을 버그라고 생각하십시오. 누군가가 적절한 SQL 탈출을하지 못했습니다 ... – Marius