在TransactionScope中打开sql连接时,会给出“不支持在Ambient事务中登记”错误。我在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();
}
}
答案 0 :(得分:0)
将PackageReference替换为Microsoft.AspNetCore.All与各个包引用,然后将PackageReference添加到“System.Data.SqlClient”,Version =“4.3.1”。
以下是适用于我的解决方案(供参考)的链接(Dapper is throwing System.Data.SqlClient.SqlConnection exception after upgrading System.Data.SqlClient to version 4.5.0-preview2)。
这适用于System.Data.SqlClient版本高达4.3.1。,4.4.0及更高版本会产生相同的错误。
答案 1 :(得分:0)
如果在使用.Net Standard时遇到此问题,则可以添加对System.Data.SqlClient的最新引用,此问题将消失。