Yo lo que hago es usar store procedures donde coloco mis insert, update, etc para hacer la transaccion y desde código hacer el commit o rollback
Ejemplo:
Cita: ...
...
SqlTransaction trans;
oConn.Open();
trans = oConn.BeginTransaction();
try
{
SqlHelper.ExecuteNonQuery(trans,
CommandType.StoredProcedure,
"MySP",
arParameter);
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
}
Y con ello me aseguro que todas las operaciones que realice en mi SP se ejecuten.
Salu2