title: Linq query that returns all records if the search item is null or empty
body: <p>I'm not very well versed in linq and I'm trying to eliminate the need to duplicate a bunch of linq queries in my code. I'm hoping that I can modify this linq query to return a full page of results if the value of the string <code>description</code> is null or empty. Currently it returns no results in that scenario.</p>
  
  <p>So basically I want this query...</p>
  
  <pre><code>return _entities.Schedules.Where(s =&gt; s.Description.ToLower().Contains(description.ToLower())))
                          .OrderByWithDirection(x =&gt; x.Description, dir)
                          .Skip((pageNumber - 1) * pageSize)
                          .Take(pageSize)
                          .ToList();
  </code></pre>
  
  <p>...to also return the results that this query would if <code>description</code> were null or empty.</p>
  
  <pre><code>return _entities.Schedules.OrderByWithDirection(x =&gt; x.Description, dir)
                              .Skip((pageNumber - 1) * pageSize)
                              .Take(pageSize)
                              .ToList();
  </code></pre>