如何将集合发布到OData控制器

时间:2017-03-01 06:25:44

标签: c# asp.net-web-api odata

如何配置我的OData模型以执行以下操作:

POST /api/OrderHeaders(id)/OrderLines

这样帖子的主体包含要发布到相关orderHeader的订单行的集合吗?

OData是否支持这种方法?

here oData似乎只支持在现有实体之间创建关系,而我想要做的就是创建相关实体。

我尝试过的另一种方法是执行以下操作:

POST /api/OrderLines

帖子的主体再次包含订单行对象的集合。但是服务器端的这种方法总是有一个空模型:

public async Task<IHttpActionResult> Post(List<OrderLine> model)
{
}

json只是没有序列化到预期的模型。

所以我再次改变了我的方法,我的模型定义如下:

public class LinePostModel
    {
        [Key]
        public int OrderId { get; set; }
        public List<OrderLine> OrderLines { get; set; }
    }

和我的OData控制器方法如下:

public async Task<IHttpActionResult> Post(LinePostModel model)
{
}

这种方法适用于验证模型并将模型保存到数据库中。但是我发布了一个关于here的不同问题。

oData是否支持将集合发布到控制器,然后将同一集合返回给客户端的概念?如果是这样,我错过了什么?

0 个答案:

没有答案