Здравствуйте!
Помогите, пожалуйста, разобраться с проблемой, как объединить фильтрацию и сортировку в oData?
фильтрация - работает
http://url/0/ServiceModel/EntityDataService.svc/ContactCollection?$sele…
сортировка- работает
http://1url/0/ServiceModel/EntityDataService.svc/ContactCollection?$select=Name&$orderby=Name
сортировка и фильтрация- НЕ работает
http://url/0/ServiceModel/EntityDataService.svc/ContactCollection?$sele…
выходит ошибка
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>4</code>
<message xml:lang="">
The query parameter '$orderBy' begins with a system-reserved '$' character but is not recognized.
</message>
<innererror>
<message>
The query parameter '$orderBy' begins with a system-reserved '$' character but is not recognized.
</message>
<type>System.Data.Services.DataServiceException</type>
<stacktrace>
at System.Data.Services.HttpContextServiceHost.VerifyQueryParameters() at System.Data.Services.DataServiceHostWrapper.VerifyQueryParameters() at System.Data.Services.DataService`1.ProcessIncomingRequestUri() at System.Data.Services.DataService`1.HandleRequest()
</stacktrace>
</innererror>
</error>
не могу понять что не так.
Проверьте такой вариант у меня ошибки нет
http://127.0.0.1:520/0/ServiceModel/EntityDataService.svc/ContactCollection?$select=Name&$orderby=Name&$filter=Phone ne '12'
Григорий Чех,
вместо амперсантов ставить запятые? все выражение взять в скобки?
не очень понимаю что нужно изменить
http://url/0/ServiceModel/EntityDataService.svc/ContactCollection?($sel…) - вот так не работает, а с запятыми - просто не фильтрует
Проверьте такой вариант у меня ошибки нет
http://127.0.0.1:520/0/ServiceModel/EntityDataService.svc/ContactCollection?$select=Name&$orderby=Name&$filter=Phone ne '12'
Григорий Чех, да, спасибо, заработало