public IUnitOfWork CreateUnitOfWork(string alias)
        {
            if (IsDisposed)
            {
                throw new InvalidOperationException("UnitOfWork provider has been already disposed");
            }

            if (UnitOfWorkCreators.ContainsKey(alias))
            {
                return(UnitOfWorkCreators[alias].CreateUnitOfWork());
            }
            else
            {
                throw new Exception("No UnitOfWork creator found");
            }
        }