title: How do i append a simple expression onto IQueryable
body: <p>I have the following method:</p>
  
  <pre><code>    public List&lt;Customer&gt; SearchTest(string city, int skip, int take)
      {
          EcomContext db = new EcomContext();
  
          var results = db.Customers.Where(n =&gt; n.City == city).OrdeyBy(n =&gt; n.Name).Skip(skip).Take(10);
  
          results = AddDeleteCheck&lt;Customer&gt;(results);
  
          return results.ToList()
      }
  </code></pre>
  
  <p>And this reusable method:</p>
  
  <pre><code>    private IQueryable&lt;T&gt; AddArchivedCheck&lt;T&gt;(IQueryable&lt;T&gt; data)
      {
          var parameter = Expression.Parameter(typeof(T));
          var e1 = Expression.Equal(Expression.Property(parameter, "Archived"), Expression.Constant(false));
          var e2 = data.Expression;
          var e3 = Expression.Lambda&lt;Func&lt;T, bool&gt;&gt;(Expression.AndAlso(e1, e2), parameter);
  
          return data.Where(e3);
      } 
  </code></pre>
  
  <p>I want to be able to call this method from a number of different functions so i have made it generic.  It should take the expression from the IQueryable object and add a check onto this (Archived == false).</p>
  
  <p>I am getting this error:
  The binary operator AndAlso is not defined for the types 'System.Boolean' and 'System.Linq.IQueryable` [Ecom.Customer]</p>