私の 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 に注意してください。
ただし、ASP.NET アプリケーション内では、QueryOperationResponse 応答オブジェクトで、次の図に示すように、最初の CenarioDeInvestimentoCenarioItem コレクション要素だけを取得します。
なぜこれが起こっているのか分かりません。私は Odata とサービス参照を使用するのはかなり新しいので、何が起こっているのかわかりません。誰か助けてくれませんか?
送信!