有这样一个存储过程 proc1,伪代码如下
update tab_a set col_a = 'a'
update database_b.tab_a set col_a = 'b'
其中有一个跨库操作,现在有这样一个需求,要在一个事务中执行上面的存储过程,和如下的 sql1
insert tab_b ....
使用 EF core 的伪代码如下
using( var trans = db.BeginTransaction())
{
db.ExecuteSqlCommand("proc1");
db.ExecuteSqlCommand("sql1");
}
请问是否能达到事务的效果?
通过实践证明,上述方法是可以达到事务的效果。