public IAsyncQueryOperatorConfiguration <TEntity> ConfigureAsyncQueryOperator <TEntity>(Func <IServiceProvider, IAsyncQueryOperator <TEntity> > operatorFactory = null)
        {
            operatorFactory = GetOperatorFactory <TEntity, IAsyncQueryOperator <TEntity> >(operatorFactory, _defaultAsyncQueryOperatorType);

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

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

            return(result);
        }
        public IAsyncQueryOperatorConfiguration <TEntity, TInput> ConfigureAsyncQueryOperator <TEntity, TInput>(Func <IServiceProvider, IAsyncQueryOperator <TEntity, TInput> > operatorFactory = null)
            where TInput : QueryInput <TEntity>
        {
            operatorFactory = GetOperatorFactory <TEntity, TInput, IAsyncQueryOperator <TEntity, TInput> >(operatorFactory, _defaultAsyncQueryOperatorTypeWithCustomInput);

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

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

            return(result);
        }