En el siguiente código en su caso excepción se produce durante la ejecución de las sentencias SQL que deberíamos esperar una reversión implícito en la transacción que la transacción no se ha cometido, se sale del ámbito y que se dispone:¿Es una mejor práctica llamar explícitamente la reversión de transacción o permitir que una excepción active una reversión implícita?
using (DbTransaction tran = conn.BeginTransaction())
{
//
// Execute SQL statements here...
//
tran.Commit();
}
¿Es lo anterior una práctica aceptable, o si uno detectar la excepción y explícitamente hacer una llamada a tran.Rollback() como se muestra a continuación:
using (DbTransaction tran = conn.BeginTransaction())
{
try
{
//
// Execute SQL statements here...
//
tran.Commit();
}
catch
{
tran.Rollback();
throw;
}
}
¿cuál transmite la mejor intención? –