C# 回滚Sql Server 2008查询
我使用两个存储过程将值插入到两个表中,并且两个表中的数据彼此链接,因此我希望如果第二个存储过程中出现任何错误,则通过第一个存储过程输入的数据应该回滚 我使用Sql server 2008作为后端,使用ASP.net c作为前端使用需要使用TransactionScope,如下所示C# 回滚Sql Server 2008查询,c#,asp.net,sql-server-2008,rollback,C#,Asp.net,Sql Server 2008,Rollback,我使用两个存储过程将值插入到两个表中,并且两个表中的数据彼此链接,因此我希望如果第二个存储过程中出现任何错误,则通过第一个存储过程输入的数据应该回滚 我使用Sql server 2008作为后端,使用ASP.net c作为前端使用需要使用TransactionScope,如下所示 当发生异常时,控件将退出使用,因此事务将回滚如果您使用的是实体框架,则可以使用它 using (var dataContext = new SchoolMSDbContext()) { using (var tr
当发生异常时,控件将退出使用,因此事务将回滚如果您使用的是实体框架,则可以使用它
using (var dataContext = new SchoolMSDbContext())
{
using (var trans = dataContext.Database.BeginTransaction(IsolationLevel.ReadCommitted))
{
try
{
// your query
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
Console.WriteLine(ex.InnerException);
}
}
}
或者你可以试试这个
using (var dataContext = new SchoolMSDbContext())
{
using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
try
{
//your query
transaction.Complete();
}
catch (Exception ex)
{
transaction.Dispose();
Console.WriteLine(ex.InnerException);
}
}
}
对于这一点,您必须参考此参考资料
System.Transactions
有关更多信息,请查看此链接
请解释为什么我们使用“TransactionScopeAsyncFlowOption.Enabled”这个参数。Thnxx@reza,它真的很有帮助me@AkhilRJ不客气,您可以通过单击问题旁边的向上箭头来向上投票帮助您的帖子,也可以通过单击问题旁边的勾号来标记答案,以帮助其他人找到正确的答案,以防他们有相同的问题
System.Transactions