我正在c#中创建一个winform应用程序。我需要在两个不同的服务器上的两个不同的数据库中更新/插入或删除两个不同的表,并且我想用事务执行此操作(如果一个数据库中的更新失败,另一个将回滚。)
我该怎么做,请在c#中给出一些代码,并说明在两个不同的服务器上进行mysql事务是否合适(我的意思是,数据库是否有可能被分布式事务的不良实现损坏我在一些论坛上读过这篇文章。)
我在互联网上搜索但我找不到c#代码。
谢谢
答案 0 :(得分:0)
我建议您尝试使用TransactionScope类。
只需将两个sql语句包装在事务范围内,它们应该同时提交或回滚。
using(var transaction = new System.Transactions.TransactionScope())
{
... Add your transactional code here ...
transaction.Complete();
}
我不确定这会起作用,但它会给你一个开始的地方,应该很容易测试。