public AsyncRepository(Func <TAggregateRoot> rootFactory, UnitOfTwerk unitOfWork)
        {
            if (rootFactory == null)
            {
                throw new ArgumentNullException("rootFactory");
            }
            if (unitOfWork == null)
            {
                throw new ArgumentNullException("unitOfWork");
            }

            RootFactory             = rootFactory;
            UnitOfWork              = unitOfWork;
            unitOfWork.PushToStream = PushToStream;
        }
 public AsyncRepository(Func <TAggregateRoot> rootFactory, UnitOfTwerk unitOfWork)
 {
     RootFactory = rootFactory ?? throw new ArgumentNullException(nameof(rootFactory));
     UnitOfWork  = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
 }