使用ASP.NET Core 2 App中的TransactionsCope支持参与环境交易



在transactionscope内部打开SQL连接时,其给定"在环境交易中的给予"不支持"不支持"错误。我在ASP.NET Core 2 App中使用ado.net。

        using (var ts = new TransactionScope())
        {
            try
            {
                Connection.Open();
                repository.Insert(entity);                    
                ts.Complete();
            }
            catch (Exception ex)
            {
                ts.Dispose();
            }
            finally
            {
                Connection.Close();
            }
        }

如果使用.NET标准时遇到此问题,则可以将最新的引用添加到System.data.sqlclient,并且此问题将消失。

用单个软件包引用替换为Microsoft.aspnetcore.all,然后将PackageReference添加到" System.data.data.sqlclient",版本=" 4.3.1"。p>这是对我有用的解决方案的链接(dapper正在抛售system.data.sqlclient.sqlconnection extrage system.data.data.data.sqlclient to版本4.5.0-preview2)。

这适用于system.data.sqlclient版本,最高4.3.1。,4.4.0及更高版本给出相同的错误。

最新更新