title: Select method is not called using LinQ query syntax
body: <p>I want to enable LinQ query syntax over my classes. I think query syntax is translated to method syntax, for example:</p>
  
  <pre><code>var query = from p in new Class1&lt;Product&gt;()
          where p.Id == "1000"
          select p
  </code></pre>
  
  <p>is translated to:</p>
  
  <pre><code>var query = new Class1&lt;Product&gt;().Where(p =&gt; p.Id == "1000").Select(p =&gt; p);
  </code></pre>
  
  <p>Then I have implemented my <code>Class1</code> as:</p>
  
  <pre><code>public class Class1&lt;T&gt;
  {
      public Class1&lt;T&gt; Where(Expression&lt;Func&lt;T, bool&gt;&gt; expression)
      {
          return this;
      }
      public Class1&lt;T&gt; Select&lt;TResult&gt;(Func&lt;T, TResult&gt; expression)
      {
          return this;
      }
  }
  </code></pre>
  
  <p>And I have tested it with this code:</p>
  
  <pre><code>static void Main(string[] args)
  {
      var query = from p in new Class1&lt;Product&gt;()
                  where p.Id == "1000"
                  select p;
  }
  </code></pre>
  
  <p>Then I have noticed that <code>Select</code> method is not called, however if I remove <code>where</code> clausule from LinQ <code>Select</code> is called:</p>
  
  <pre><code>static void Main(string[] args)
  {
      var query = from p in new Class1&lt;Product&gt;()
                  // where p.Id == "1000" -&gt; commenting that Select method is called
                  select p;
  }
  </code></pre>
  
  <p>Someone knows why?</p>
  
  <p>Here a fiddle where you can test it: <a href="https://dotnetfiddle.net/JgxKG9" rel="nofollow noreferrer">https://dotnetfiddle.net/JgxKG9</a></p>