OData / WCF服务操作 - 通过URI进行属性访问?

时间:2011-12-30 21:47:46

标签: wcf uri odata

我在WCF数据服务中使用服务操作来获取对象。

[WebGet]
    public IQueryable<sample> GetSamples(int Id)

我可以通过

检索数据
http://localhost:xx/GetSamples?Id=9

是否可以获得返回对象的属性类似于

http://localhost:xx/samples(x)/property

我尝试了http://localhost:xx/GetSamples?Id=9/propertyhttp://localhost:xx/GetSamples/property?Id=9等等。没有任何作用。

2 个答案:

答案 0 :(得分:0)

使用select?

怎么样?
http://localhost:xx/GetSamples?Id=9&$select=property

答案 1 :(得分:0)

如果Sample是复杂类型,那么这将不起作用。 如果Sample是实体类型,那么它将使用一个小的修改。只有单身结果才能进行财产访问。 WCF DS不知道您的服务操作总是返回单个实体,告诉您,将属性SingleResult添加到您的服务操作方法。然后第一个URL应该工作:service / GetSample / PropertyName?id = 2 如果Sample是实体类型并且您知道关键属性值(或值),则service / Samples(keypropertyvalue)/ PropertyName也应该有效。