通过将具体实体定义为操作数来过滤,即不使用原始值

时间:2014-02-21 11:09:04

标签: odata

在我检查的examples中,操作数始终是原始值,如:

http://host/service/Products?$filter=MainIngredient eq 'Milk'

如果MainIngredient属性是一个实体,我想要引用这个实体怎么办?抽象其他案例,就像

http://host/service/Products?$filter=MainIngredient eq Ingredient('770d5720-9ae8-11e3-a5e2-0800200c9a66)

...或者过滤器不是正确使用的仪器吗?

1 个答案:

答案 0 :(得分:0)

我认为您的意思是MainIngredient是导航属性的名称,它指向Ingredient类型的单个实体,例如:

http://host/service/Products(1234)/MainIngredient

如果是这种情况,并假设成分的键被称为“ID”,那么我认为您想要做的URL的正确形式是:

http://host/service/Products?$filter=MainIngredient/ID eq guid'770d5720-9ae8-11e3-a5e2-0800200c9a66'

这将仅返回通过MainIngredient链接到具有您在问题中提供的ID的成分的产品。