title: .ToListAsync() not found when using WhereIf
body: <p>I am reading <a href="https://aspnetboilerplate.com/Pages/Articles/Introduction-With-AspNet-Core-And-Entity-Framework-Core-Part-1/index.html#ArticleCreateFirstMigration" rel="nofollow noreferrer">this tutorial</a>. I want to use <code>async</code> query with EF Core.</p>
  
  <p>It works well when i use like this:</p>
  
  <pre><code>var tasks = await _taskRepository
      .GetAll()
      //.WhereIf(!string.IsNullOrEmpty(input?.Title), x =&gt; x.Title.Contains(input.Title))
      //.WhereIf(input?.State != null, x =&gt; x.State == input.State.Value)
      //.OrderByDescending(x =&gt; x.CreationTime)
      .ToListAsync();
  </code></pre>
  
  <p>but i want to use whereif and orderby like</p>
  
  <pre><code>var tasks = await _taskRepository
      .GetAll()
      .WhereIf(!string.IsNullOrEmpty(input?.Title), x =&gt; x.Title.Contains(input.Title))
      .WhereIf(input?.State != null, x =&gt; x.State == input.State.Value)
      .OrderByDescending(x =&gt; x.CreationTime)
      .ToListAsync();
  </code></pre>
  
  <p><strong>Error:</strong></p>
  
  <blockquote>
    <p>'IOrderedEnumerable' does not contain a definition for 'ToListAsync' and no extension method 'ToListAsync' accepting a first argument of type 'IOrderedEnumerable' could be found (are you missing a using directive or an assembly reference?)</p>
  </blockquote>