title: IQueryable does not contain a definition for 'Select'
body: <p>I'm trying to create a method that will take in a <code>Func&lt;Object1, bool&gt;</code> as a where clause and perform a Select on it as a subquery. This seems to be causing an error on the <code>IQueryable</code> where it cannot cast it to an expression to be parsed.</p>
  
  <pre><code>using System.Linq
  using System.Data.Entity;
  
  public IEnumerable&lt;Object2&gt; CreateObject2List&lt;T&gt; (Expression&lt;Func&lt;T, Object1&gt; whereClause) 
  {
      var parentQuery = (from r in dataSet.SomeObject
                         select new Object1 { Value1 = r.value1, Value2 = r.Value2 }
  
      var subQuery = parentQuery.Where(whereClause)
                     .Select&lt;Object1, Object2&gt;( o =&gt; new Object2{
          Value3 = Value1 + Value2,
          Value4 = Value1 - Value2
      })
  
      return subQuery.ToList();
  }
  </code></pre>
  
  <p>The problem is occurring on the subQuery. It states:</p>
  
  <blockquote>
    <p>'IQueryable' does not contain a definition for 'Select' and the best
    extension method overload <code>'Queryable.Select&lt;Object1, Object2&gt;
    (IQueryable&lt;Object1&gt;, Expression&lt;Func&lt;Object1, Object2&gt;&gt;)'</code> requires a
    receiver of type 'IQueryable'.</p>
  </blockquote>
  
  <p>I don't understand how it's not able to recognize that I've already provided an expression in the form of the lambda on the subquery. I made sure that I am using both System.Linq and System.Data.Entity. The delegate type that it is asking for is already there, so why can it not compile?</p>
  
  <p>Also, for clarity, I am doing this because there are other sub-queries to be performed later, this is not a 1-to-1 snippet. I'm going for extensibility on the method call as a service.</p>
  
  <p>Any help would be appreciated, and I can provide more detail as needed, thank you!</p>