Begin transaction

Olá pessoal!

Ainda sou novinho no mundo da programação e tenho uma dúvida sobre c# que gostaria de compartilhar com vocês.
Lá vai. Fiz um CRUD no banco de dados mas gostaria de saber como fazer um begin transaction e rollback no código para caso de algo errado, pois pretendo colocar mais coisas nesse mesmo método.

segue o código:

        public void incluir(EntradaNota entN)
        {
            try
            {
                gc.conectar();
                SqlConnection conexao = gc.SqlConn;

                #region REGISTRO DE ENTRADA
                SqlCommand comando = new SqlCommand("INSERT INTO entrada_produto VALUES (@codFunc, @dataEntrada, @notaFiscalEntrada)", conexao);
                comando.Parameters.Add("@codFunc", SqlDbType.Int).Value = entN.Funcionario.CodFunc;
                comando.Parameters.Add("@dataEntrada", SqlDbType.VarChar, 10).Value = entN.DataEntrada;
                comando.Parameters.Add("@notaFiscalEntrada", SqlDbType.Int).Value = entN.NotaFiscal;
                comando.ExecuteNonQuery();
                comando.Dispose();
                #endregion
            }
            catch (Exception e)
            {
                throw new RepositorioException("Erro no processo de inserção: " + e.Message);
            }
            finally 
            {
                gc.desconectar();
            }
        }