public IUnitOfWork CreateUnitOfWork()
        {
            var transaction = _connection.BeginTransaction();
            var uow         = new DbUnitOfWork(transaction, RemoveTransaction, RemoveTransaction);

            _rwLock.EnterWriteLock();
            _uows.AddLast(uow);
            _rwLock.ExitWriteLock();

            return(uow);
        }
 private void RemoveTransaction(DbUnitOfWork obj)
 {
     _rwLock.EnterWriteLock();
     _uows.Remove(obj);
     _rwLock.ExitWriteLock();
 }