c#使用块上下文,在另一个使用块上下文

本文关键字:上下文 另一个 | 更新日期: 2023-09-27 18:08:14

我得到以下错误

分布式事务管理器(MSDTC)的网络访问已经完成禁用。请在安全中启用DTC进行网络访问使用组件服务管理为MSDTC配置工具。

当我尝试执行以下操作

using (DataOneContext context1 = new DataOneContext())
{
     code...
     using (DataTwoContext context2 = new DataTwoContext())
     {
          more code...
     }
}

当我把它们分开时,代码就可以工作了。但是为了使事情简单化,一个人在另一个人中会更容易一些。这可能吗?

我想避免启用MSDTC。

DataOneContext和DataTwoContext是DBML文件中的表(对不起,我不知道技术术语)。

每个上下文连接到不同的服务器

c#使用块上下文,在另一个使用块上下文

我认为您可以通过共享连接(假设使用相同的服务器)来实现这一点。当事务使用不同的连接时,会自动提升为分布式事务。

using (DataOneContext context1 = new DataOneContext()) 
{ 
     code... 
     using (DataTwoContext context2 = new DataTwoContext(context1.Connection)) 
     { 
         more code....
     } 
}