ODataサービスを3番目のバージョンに更新する必要があります。現在、NuGetリポジトリから新しいライブラリを変更し、DataServiceConfigurationでプロパティMaxProtocolVersionをV3に設定しただけです。
これでは不十分かもしれませんか?誰かが知っています、私のアプリケーションですべてのフィルターをサポートするために私は正確に何をしなければなりませんか?
次のようにリクエストを送信しようとすると:http:
//expamle.com/OData.svc/Contacts?$ filter = Phones / any(p:p / Number eq '111-222-333-11')
この例外をスローする私のアプリケーション:
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>4</code>
<message xml:lang="" />
<innererror>
<message>No property 'any' exists in type 'City' at position 5.</message>
<type>System.Data.Services.DataServiceException</type>
<stacktrace>
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseMemberAccess(Expression instance)
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParsePrimary()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseUnary()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseMultiplicative()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseAdditive()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseComparison()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseLogicalAnd()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseLogicalOr()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseExpression()
at System.Data.Services.Parsing.RequestQueryParser.ExpressionParser.ParseWhere()
at System.Data.Services.Parsing.RequestQueryParser.ParseLambdaForWhere(IDataService service, RequestDescription requestDescription, Type queryElementType, String expression)
at System.Data.Services.Parsing.RequestQueryParser.Where(IDataService service, RequestDescription requestDescription, Expression source, String predicate)
at System.Data.Services.RequestQueryProcessor.ProcessFilter() at System.Data.Services.RequestQueryProcessor.ProcessQuery()
at System.Data.Services.RequestQueryProcessor.ProcessQuery(IDataService service, RequestDescription description)
at System.Data.Services.RequestUriProcessor.ProcessRequestUri(Uri absoluteRequestUri, IDataService service, Boolean internalQuery)
at System.Data.Services.DataService`1.ProcessIncomingRequestUri()
at System.Data.Services.DataService`1.HandleRequest()
</stacktrace>
</innererror>
</error>