0

gridsize というパラメーターの値を渡し、Results からデータを取得する、必要に応じて機能する OData URI があります。これは URI であり、正常に動作します。

http://<webservice>/MULTI_POINT_PARAMParameters(gridsize=0.1m)/Results

上記の URI を LINQ を使用して機能させようとしています。プロキシ クラスを生成するために MVC サービス参照を使用しています。だから私はこのLINQを試しました:

var query = (from x in context.MULTI_POINT_PARAMParameters
                where
                x.gridsize == 0.1M
                select x);

ただし、上記の LINQ は次の URI を生成しますが、これは「セグメントが見つかりません」と言って失敗します。

http://<webservice>/MULTI_POINT_PARAMParameters()?$filter=gridsize eq 0.1M}

私が本当に LINQ に生成してもらいたいのは、これが機能することです。

http://<webservice>/MULTI_POINT_PARAMParameters(gridsize=0.1m)/Results

LINQ で必要な URI を生成するにはどうすればよいですか? 私は Linq2rest を見てきましたが、Linq2restに見えない「隠された」用語を生成させるのではなく、LINQ 用語を自分で明示的にコーディングしたい場合にどのように役立つかわかりませんでした。

4

1 に答える 1

0

私の知る限り、OData にフィルターを追加する場合は、「$filter」を使用する必要があります。

「MULTI_POINT_PARAMParameters(gridsize=0.1m)」を使用する場合は、LINQ の動的生成を使用する必要がある場合があります。

動的生成の後、クエリは次のようになります

var query = (from x in context.MULTI_POINT_PARAMParameters(gridsize=0.1m)                
            select x);

私はあなたに考える方向性を与えようとしているだけです。他の人があなたの質問についてどのような意見を持っているか見てみましょう.

于 2013-08-07T07:26:28.917 に答える