我有这个:
using (var con= new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString))
{
try
{
// many transactions
}
catch (Exception e)
{
con.BeginTransaction().Rollback();
}
}
Run Code Online (Sandbox Code Playgroud)
这项工作是我的问题.我知道另一种方法是创建一个事务然后打开然后回滚.
Ste*_*eve 10
您可以在SqlConnection的using块的同一级别的using块中使用TransactionScope变量
using (TransactionScope scope = new TransactionScope())
using (var con= new SqlConnection(ConfigurationManager.ConnectionStrings["sqlcon"].ConnectionString))
{
try
{
// many transactions
scope.Complete();
}
catch (Exception e)
{
// Not needed any rollback, if you don't call Complete
// a rollback is automatic exiting from the using block
// con.BeginTransaction().Rollback();
}
}
Run Code Online (Sandbox Code Playgroud)