在我的申请中,我有以下模式:
using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required))
{
Function1();
Function2();
Function3();
}
我的问题是,Function2调用另一个连接到另一个DB的函数......并且事务变得分散,我得到一个异常。
在我可以进行不属于当前事务的db调用的代码中是否有任何方法?我在Function2中的代码只是读取...所以我不想成为当前事务的一部分。
谢谢,Radu
答案 0 :(得分:3)
大约function2
你可以用TransactionScopeOption.RequiresNew
创建一个新的交易,从而迫使它进入自己独立的交易。由于该事务中只使用一个资源(另一个数据库),因此不应该分发。