微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对复合键的OData v4 Web API支持

我正在使用WebAPI和OData v4构建OData Web服务.

通过覆盖EntityRoutingConvention的SelectAction方法,我能够获得支持组合键的服务.但是,在以前版本的OData中,这不是必需的.我个人认为它非常混乱,我觉得我正在重新发明轮子.

还有其他方法吗?

解决方法

使用属性路由.

一个例子:

模型:

public class Product
{
    [Key]
    public int ID { get; set; }

    [Key]
    public string Name { get; set; }
}

使用复合键识别实体的控制器方法

[EnableQuery]
[ODaTaroute("Products(ID={key1},Name={key2})")]
public IHttpActionResult Get([FromODataUri] int key1,[FromODataUri] string key2)
{
    // You business logic for retrieving the entity from your storage using the two keys and return
}

索取样品:

GET http://host/service/Products(ID=1,Name='Car')

无需覆盖路由约定.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐