0

LINQ で正確にこの URI を生成する必要があります。

http://<webservice>/MULTI_POINT_PARAMParameters(xcenter=1M,ycenter=1M)/Results 

どこxcenterycentermy key を指定し、必要なResultsデータを含む OData サービスのナビゲーション プロパティです。この URI をブラウザーに入力すると、必要な結果が得られます。

LINQ でこれを生成することはほとんどできますが、最後に /Results 部分を実行することはできません。だから私がするなら:

var query = context.MULTI_POINT_PARAMParameters
                   .Where(t => (t.xcenter == 1 && t.ycenter == 1))
                   .Select(t => t);   

次のような URI を取得します。

http://<webservice>/MULTI_POINT_PARAMParameters(xcenter=1M,ycenter=1M)

これで開始です。あとは、ナビゲーション パラメーターを指定するだけです。私はこれを試しました:

var query2 = context2.MULTI_POINT_PARAMParameters
                   .Where(t => (t.xcenter == 1 && t.ycenter == 1))
                   .Select(t => new { t.Results });  

ただし、生成された URI は次のようになります。

http://<webservice>/MULTI_POINT_PARAMParameters(xcenter=1M,ycenter=1M)?$expand=Results&$select=Results

上記のURIは同じであるはずだと読みましたが、私/Resultsが扱っている特定のサービスでは機能しません。生成されたURIは、最初に/Results最後に書いたとおりである必要があります。

LINQでこれを行う方法を知っている人はいますか?

4

1 に答える 1

0

SelectManyつまり、試してみてください

var query2 = context2.MULTI_POINT_PARAMParameters
               .Where(t => (t.xcenter == 1 && t.ycenter == 1))
               .SelectMany(t => t.Results);  

SelectManyコレクションのナビゲーション プロパティとSelect単一のナビゲーション プロパティに使用します。

于 2013-08-08T19:27:09.807 に答える