3

次のようなオプションのクエリ文字列 (projectNumber と呼ばれる) を受け取る Web サービス API (piperuns と呼ばれる OData エンドポイントを使用し、ODataController を使用) があります。

http://localhost:59636/piperuns?projectNumber=1

Simple.OData.Client に基づくクライアントがあり、このオプションのクエリ文字列を渡す方法がわかりません...動的構文を使用しており、以下の構文を使用して (クエリ パラメーターなしで) piperuns を取得できます。

ODataFeedAnnotations annotations = new ODataFeedAnnotations();
ODataClient client = new ODataClient("http://localhost:59636/");

var x = ODataDynamic.Expression;
IEnumerable<dynamic> pipeRunsNext = await(Task<IEnumerable<Simple.OData.Client.ODataEntry>>)client
                .For(x.piperuns)
                .FindEntriesAsync(annotations.NextPageLink, annotations);

しかし、必要に応じて、オプションのクエリ文字列パラメーターを含める方法に関する情報が見つかりませんか?

ありがとう!

4

2 に答える 2

2

メタデータ モデル プロパティを含む条件の場合、Filter 句を使用する必要があります。

IEnumerable pipeRunsNext = await client
  .For(x.piperuns)
  .Filter(x.projectNumber == "1")
  .FindEntriesAsync(annotations.NextPageLink, annotations);

ただし、余分な句がモデルに関連していない場合は、文字列を受け取る Filter オーバーロードを使用します。

IEnumerable pipeRunsNext = await client
  .For(x.piperuns)
  .Filter("projectNumber == '1'")
  .FindEntriesAsync(annotations.NextPageLink, annotations);
于 2015-03-06T12:14:16.250 に答える