私はWCFにかなり慣れていません。ページングされた応答としてlinqまたはラムダを使用してWCFサービスからクエリを取得しようとしていますが、取得できません。私のコードは次のとおりです。
Dim uri As New Uri(My.Settings.Host)
Dim context As New PMXMigrationEntities(uri)
Dim token As DataServiceQueryContinuation(Of APARTMNT) = Nothing
Dim list As New List(Of APARTMNT)
Try
' Execute the query for all apartments and get the response object.'
Dim response As QueryOperationResponse(Of APARTMNT) = _
CType(context.APARTMNTs.Execute(), QueryOperationResponse(Of APARTMNT))
' With a paged response from the service, use a do...while loop '
' to enumerate the results before getting the next link. '
Do
' If nextLink is not null, then there is a new page to load.'
If token IsNot Nothing Then
' Load the new page from the next link URI.'
response = CType(context.Execute(Of APARTMNT)(token), _
QueryOperationResponse(Of APARTMNT))
End If
' Enumerate the apartments in the response.'
For Each a As APARTMNT In response
list.Add(a)
Next
' Get the next link, and continue while there is a next link.'
token = response.GetContinuation()
Loop While token IsNot Nothing
Catch ex As DataServiceQueryException
Throw New ApplicationException( _
"An error occurred during query execution.", ex)
End Try
Return list
次のようなことをしたいと思います。
CType(context.APARTMNTs.Where(Function(a) a.city.Contains(cityStr)).Execute(), QueryOperationResponse(Of APARTMNT))
そして次のようなもの:
CType(context.APARTMNTs.Where(Function(a) a.city = cityStr).Execute(), QueryOperationResponse(Of APARTMNT))
さて、このシナリオでは、linq または lambda が、Contains 関数をサポートしない OData クエリに変換されることを読みました。私の代替手段は何ですか?