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

发布于 2024-12-23 07:42:33 字数 599 浏览 0 评论 0原文

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

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

我可以通过 Is it possible to get property of the returned object 检索数据,

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 等。没有任何效果。

I use a Service Operation in WCF data service to get a object.

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

I can retrieve data by

http://localhost:xx/GetSamples?Id=9

Is it possible to get property of the returned object similar to

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

I've tried http://localhost:xx/GetSamples?Id=9/property, and http://localhost:xx/GetSamples/property?Id=9 etc. Nothing works.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏末的微笑 2024-12-30 07:42:33

如果 Sample 是复杂类型,那么这将不起作用。
如果 Sample 是实体类型,那么只需稍作修改即可使用。属性访问只能在单例结果上进行。 WCF DS 不知道您的服务操作总是返回单个实体,要告诉的是,向您的服务操作方法添加一个属性 SingleResult。那么第一个 URL 应该可以工作:service/GetSample/PropertyName?id=2
如果 Sample 是实体类型并且您知道键属性值(或多个值),则 service/Samples(keypropertyvalue)/PropertyName 也应该有效。

If Sample is a complex type then this won't work.
If Sample is an entity type, then it will work with a small modification. Property access is only possible on a singleton result. WCF DS doesn't know that your service operation always returns a single entity, to tell is to, add an attribute SingleResult to your service operation method. Then the first URL should work: service/GetSample/PropertyName?id=2
If the Sample is an entity type and you know the key property value (or values) then service/Samples(keypropertyvalue)/PropertyName should also work.

浅唱ヾ落雨殇 2024-12-30 07:42:33

使用选择怎么样?

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

What about using a select?

http://localhost:xx/GetSamples?Id=9&$select=property
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文