DefaultODataBatchHandler更改集

时间:2014-08-14 23:28:22

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

我正在使用DefaultODataBatchHandler以便能够一次接受多个OData请求,但希望将这些请求作为单个全有或全无操作(即单个事务)来处理。

我的理解是,这就是变更集的用途。但是,如果我使用带有两个请求的更改集提交请求 - 第一个将成功,第二个将失败 - 那么它似乎不会这样做。第一个请求成功改变了数据,第二个请求失败,但第一个请求仍然生效。

目前是否不支持这种原子批量操作?

编辑:我使用的是最新版本的btw - Web API 2.2 w / OData 4支持

1 个答案:

答案 0 :(得分:0)

WebApi没有开箱即用的原子支持,原因是它依赖于后端数据存储。有一个样本可以解决这样的需求https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v3/ODataEFBatchSample/,它适用于OData v3,但很容易按照它来创建一个v4。你可能想尝试一下。