public ITransactionScope BeginTransaction()
        {
            RaiseDisposed();

            if (IsOpenScope)
            {
                throw new Exception("Illegal attempt transaction scope reentrancy.");
            }

            try
            {
                currentScope = new CharDatabaseTransactionScope(this, connection);
                return(currentScope);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }
 internal void ReleaseTransactionScope()
 {
     currentScope = null;
 }