我正在使用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 举报,一经查实,本站将立刻删除。