考虑以下代码,如果捕获到异常,该代码不会回滚事务。

transaction = connection.BeginTransaction();
command.Transaction = transaction;
try {
    // interact with database here
catch {}
finally {
    connection.Close();
}

这样做的后果是什么,是否有必要回滚该交易?

最佳答案

它将在数据库上保留一个开放的事务,这可能会阻止其他查询。
取自here:

关于c# - ADO.NET : Do you need to Rollback a transaction?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5230295/

10-15 13:24