【发布时间】:2020-04-07 07:19:46
【问题描述】:
我想做以下事情:
- 开始交易
- 将数据插入数据库
- 插入后,使用新添加的行的主键将数据提交到 API 端点
- 然后提交事务
如果插入失败,什么都不会做,一切都会回滚。问题是如果事务提交失败,我没有回滚 API 请求的好方法,因为它不是数据库操作。我唯一能想到的就是从端点删除数据。有没有更好的办法?我正在使用实体框架。谢谢。
【问题讨论】:
-
使用 EF 保存更改后将数据提交到 API 端点。
-
@Sir Rufo 是的。问题是当提交到数据端点失败时,我需要回滚数据库,如果我保存更改就不能再这样做了。
-
你有行的键,所以如果 API 调用失败,你可以删除它们
-
@SirRufo 如果调用 API 的服务在发现(捕获异常)API 调用失败后立即失败怎么办?
标签: c# entity-framework transactions entity-framework-6 atomic