0

私は WCF データ サービスと ASP.NET ホストを使用しており、レシピ データベースのエンティティ データ モデルがあります。エンティティ「レシピ」は「材料」に接続され、「材料」は「ユニット」に接続されます。私のクライアント (Windows 8 RT アプリ) で、サービスにクエリを実行して、すべての材料をレシピに取得し、材料に関連付けられているユニットを取得しようとしています。

プライベート R.juliemrEntities データ;

プライベート DataServiceCollection レシピ。

var query = (DataServiceQuery)data.Recipes.Expand("Ingredients");

このクエリでは、レシピとその材料を取得できますが、3 番目のテーブルに拡張することも、材料を介して単位を取得することもできません。

レシピ、その材料、および各材料の単位の両方を取得できるクエリを作成する方法を知っている人はいますか? 助けていただければ幸いです:)

4

2 に答える 2

1

「ダブル エキスパンド」の場合は、次のようなものを使用します。expand の 2 番目の呼び出しには、3 番目のエンティティへのパスのような文字列が含まれています。

data.Recipes.Expand("Ingredients").Expand("Ingredients/Unit");
于 2013-03-25T12:07:45.020 に答える
0

http://www.odata.org/documentation/odata-version-3-0/odata-version-3-0-core-protocol 10.2.3.1.3 The $expand System Query Optionをご覧ください。$expand=Ingredients/Unit は、成分と各成分の単位の両方を展開することを意味することがわかります。

したがって、使用できるエキスパンドは 1 つだけです

data.Recipes.Expand("Ingredients/Unit");
于 2014-06-17T15:49:10.683 に答える