title: Why did the following linq to sql query generate a subquery?
body: <p>I did the following query:</p>
  
  <pre><code>var list = from book in books
            where book.price &gt; 50
            select book;
  
  list = list.Take(50);
  </code></pre>
  
  <p>I would expect the above to generate something like:</p>
  
  <pre><code>SELECT top 50 id, title, price, author
  FROM Books
  WHERE price &gt; 50
  </code></pre>
  
  <p>but it generates:</p>
  
  <pre><code>SELECT
  [Limit1].[C1] as [C1]
  [Limit1].[id] as [Id], 
  [Limit1].[title] as [title], 
  [Limit1].[price] as [price], 
  [Limit1].[author]
  FROM (SELECT TOP (50) 
               [Extent1].[id] as as [Id], 
               [Extent1].[title] as [title], 
               [Extent1].[price] as [price], 
               [Extent1].[author] as [author]
        FROM Books as [Extent1]
        WHERE [Extent1].[price] &gt; 50
       ) AS [Limit1]
  </code></pre>
  
  <p>Why does the above linq query generate a subquery and where does the C1 come from?</p>