public TResult Execute <TResult>(Expression expression)
        {
            var result = NuGetFeedQueryMaterializer.Execute(expression, NuGetRepository, root) as IAsyncEnumerable <NuGetPackage>;
            var task   = result.ToList();

            task.Wait();

            return((TResult)(task.Result as object));
        }
        public TResult Execute <TResult>(Expression expression)
        {
            if (!IsSupported <TResult>())
            {
                throw new ArgumentException($"The type argument - {typeof(TResult)}, is not supported by {nameof(NuGetFeedQueryProvider)}.");
            }

            return((TResult)NuGetFeedQueryMaterializer.Execute(expression, NuGetRepository));
        }
 public IAsyncQueryable <NuGetPackage> AsyncExecute(Expression expression)
 {
     return(NuGetFeedQueryMaterializer.Execute(expression, NuGetRepository, root));
 }