对复合键的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')

无需覆盖路由约定.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些