Let's assume the following code :
try
{
using(SqlConnection conn = new SqlConnection(...))
using(SqlTransaction trans = conn.BeginTransaction())
using(SQlCommand cmd = new SqlCommand())
{
...
Sql Exception occurs !
trans.Commit()
}
} catch (SqlException)
{
}
Will there be an automatic rollback because of this exception or is it mandatory to call trans.Rollback()
?