小编Gar*_*rez的帖子

使用OData进行事务性批处理

使用Web API OData,我有$ batch处理工作,但是,数据库的持久性不是Transactional.如果我在请求中的Changeset中包含多个请求,并且其中一个项失败,则另一个仍然完成,因为对控制器的每个单独调用都有它自己的DbContext.

例如,如果我提交一个包含两个更改集的批处理:

批处理1 - 更改集1 - - 修补程序有效对象 - - 修补程序无效对象 - 结束更改集1 - 更改集2 - - 插入有效对象 - 结束更改集2结束批处理

我希望第一个有效补丁将被回滚,因为更改集无法完整地完成,但是,因为每个调用都有自己的DbContext,第一个补丁被提交,第二个补丁没有,插入是承诺.

有没有一种标准的方法来通过OData的$ batch请求来支持事务?

entity-framework odata asp.net-web-api

12
推荐指数
2
解决办法
8452
查看次数

标签 统计

asp.net-web-api ×1

entity-framework ×1

odata ×1