1

私の ASP.NET MVC5 アプリケーションには、OData API のサービス参照があります。次のように、子プロパティを展開して、この API を呼び出しています。

DataServiceQuery<CenarioDeInvestimentoCenario> queryCenario;
queryCenario = context.CenarioDeInvestimentoCenario
    .Expand("CenarioDeInvestimentoCenarioItem")
    .Where(a => a.IdAerodromo.Equals(55)) as DataServiceQuery<CenarioDeInvestimentoCenario>;
QueryOperationResponse<CenarioDeInvestimentoCenario> response = queryCenario
    .IncludeTotalCount()
    .Execute() as QueryOperationResponse<CenarioDeInvestimentoCenario>;

これにより、次のクエリ文字列が生成されます。

LocalHost/MyApi/CenarioDeInvestimentoCenario()?$filter=IdAerodromo eq 55&$expand=CenarioDeInvestimentoCenarioItem

任意のブラウザーからこのクエリ文字列を使用すると、次の画像のように正しい結果セットのデータを取得できます。コレクションとしての CenarioDeInvestimentoCenarioItem に注意してください。

CenarioDeInvestimentoCenarioItem は複数のエンティティのコレクションであることに注意してください

ただし、ASP.NET アプリケーション内では、QueryOperationResponse 応答オブジェクトで、次の図に示すように、最初の CenarioDeInvestimentoCenarioItem コレクション要素だけを取得します。

私のコレクションの残りはどこですか?

なぜこれが起こっているのか分かりません。私は Odata とサービス参照を使用するのはかなり新しいので、何が起こっているのかわかりません。誰か助けてくれませんか?

送信!

4

0 に答える 0