public IAsyncGetOperatorConfiguration <TEntity> ConfigureAsyncGetOperator <TEntity>(Func <IServiceProvider, IAsyncGetOperator <TEntity> > operatorFactory = null)
        {
            operatorFactory = GetOperatorFactory <TEntity, IAsyncGetOperator <TEntity> >(operatorFactory, _defaultAsyncGetOperatorType);

            var result = new AsyncGetOperatorConfiguration <TEntity>(operatorFactory);

            _operatorServiceDescriptors.Add(new ServiceDescriptor(typeof(IAsyncGetOperator <TEntity>), result.Build, _serviceLifetime));

            return(result);
        }
        public IAsyncGetOperatorConfiguration <TEntity, TId, TInput> ConfigureAsyncGetOperator <TEntity, TId, TInput>(Func <IServiceProvider, IAsyncGetOperator <TEntity, TId, TInput> > operatorFactory = null)
            where TInput : GetInput <TEntity>
        {
            operatorFactory = GetOperatorFactory <TEntity, TId, TInput, IAsyncGetOperator <TEntity, TId, TInput> >(operatorFactory, _defaultAsyncGetOperatorTypeWithCustomInput);

            var result = new AsyncGetOperatorConfiguration <TEntity, TId, TInput>(operatorFactory);

            _operatorServiceDescriptors.Add(new ServiceDescriptor(typeof(IAsyncGetOperator <TEntity, TId, TInput>), result.Build, _serviceLifetime));

            return(result);
        }