public override void BeginTransaction() { if (transaction != null) throw new InvalidOperationException ("Already in a transaction"); connection = GetConnection (); transaction = connection.BeginTransaction (); }