目前,System.Transaction程序集不是.net core框架的一部分(请参见https://github.com/dotnet/corefx/issues/2949)。在我的应用程序(asp.net core mvc)中,我需要使用TransactionScope来处理事务。
问题:
有没有替代方案可以与.net core框架一起使用来处理事务? 我尝试使用Castle.Transactions作为替代方案,但目前也不支持。
目前,System.Transaction程序集不是.net core框架的一部分(请参见https://github.com/dotnet/corefx/issues/2949)。在我的应用程序(asp.net core mvc)中,我需要使用TransactionScope来处理事务。
有没有替代方案可以与.net core框架一起使用来处理事务? 我尝试使用Castle.Transactions作为替代方案,但目前也不支持。
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
using (var transaction = connection.BeginTransaction())
{
// transaction.Commit();
// transaction.Rollback();
}
}
如果有人在研究此问题时经过这篇文章,我想在这里留下一条评论。我在使用 Dapper 时,遇到了 .net core 2.1 的随机问题,它默认包含 System.Data.SqlClient 4.5.0。通过 nuget 独立添加版本 System.Data.SqlClient 4.5.1 可以解决该问题。因此,从 4.5.1 版本开始,该问题已得到修复。
以下是我的 csproj 文件的相关部分:
<ItemGroup>
<PackageReference Include="Dapper" Version="1.50.5" />
<PackageReference Include="System.Data.SqlClient" Version="4.5.1" />
</ItemGroup>