Sql server 2008 r2 EF6使用“中断”;“无法开始分布式事务”;
我在一台服务器上运行多个网站。这些站点访问本地数据库,并在数据库中调用链接服务器上的存储过程 除了一个正在运行EntityFramework6.1.1的网站外,所有网站都运行良好 调用完成后,我们得到错误:Sql server 2008 r2 EF6使用“中断”;“无法开始分布式事务”;,sql-server-2008-r2,entity-framework-6.1,Sql Server 2008 R2,Entity Framework 6.1,我在一台服务器上运行多个网站。这些站点访问本地数据库,并在数据库中调用链接服务器上的存储过程 除了一个正在运行EntityFramework6.1.1的网站外,所有网站都运行良好 调用完成后,我们得到错误:操作无法执行,因为链接服务器的OLE DB提供程序“SQLNCLI10”无法开始分布式事务。 此时运行的代码是使用.tt文件自动生成的 return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("procname",
操作无法执行,因为链接服务器的OLE DB提供程序“SQLNCLI10”无法开始分布式事务。
此时运行的代码是使用.tt文件自动生成的
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("procname", param1, param2, param3, param4);
如前所述,这在EF的旧版本中运行良好。(这不是MSDTC配置的问题。)
在这页()上,它说:
从EF6数据库开始。默认情况下,ExecuteSqlCommand()将在事务中包装该命令(如果还没有)。此方法的重载允许您根据需要重写此行为。同样在EF6中,通过API(如ObjectContext)执行模型中包含的存储过程。ExecuteFunction()也执行相同的操作(除了此时无法覆盖默认行为)
我卡住了吗?是否需要恢复到实体框架5?我们最终将该项目恢复到实体框架5。可能的解决方案: