我正在开发一个将更新多个数据库(SQL Server 2008 和 Oracle 11g)的应用程序。TransactionScope 似乎是确保更新始终正确提交的合乎逻辑的方式,但安装 MSDTC 似乎不是一种选择。将来,此应用程序也有可能使用不支持分布式事务的数据源。
我花了很多时间试图提出另一种解决方案,但似乎没有任何效果。所有搜索都指向 TransactionScope 和分布式事务。
该应用程序是使用实体框架用 C# 编写的。任何人有任何建议,不需要升级到分布式事务?这是我所拥有的想法清单,这些想法无处可去。
+TransactionScope:无法使用 MSDTC。未来的数据源可能不支持分布式事务。
+手动跟踪和回滚事务:我还没有找到在实体框架中执行此操作的好方法。
+队列/日志失败,以便它们可以被另一个进程重新提交:无法想出一个很好的方法来一般地存储失败的提交。还需要确保重新提交不会覆盖较新的数据。