0

我正在使用 WCF 数据服务和 ASP.NET 主机,其中我有一个用于配方数据库的实体数据模型。实体“Recipe”连接到“Ingredient”,“Ingredient”连接到“Unit”。在我的客户端(Windows 8 RT 应用程序)中,我试图查询服务以获取配方中的所有成分,以及与成分关联的单位。

私人 R.juliemrEntities 数据;

私有 DataServiceCollection 配方;

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

通过这个查询,我得到了食谱及其成分,但我无法扩展到第三张表,或者通过成分获取单位。

有谁知道我如何编写一个查询,让我同时掌握食谱、它们的成分和每种成分的单位?帮助将不胜感激:)

4

2 回答 2

1

对于“双重展开”,使用类似这样的东西。对 expand 的第二次调用包含到第三个实体的类似路径的字符串。

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 $expand 系统查询选项。您会发现 $expand=Ingredients/Unit 表示同时扩展成分和每种成分的单位。

所以你只能使用一个展开

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