title: Why linq-to-sql query is translated into subquery?
body: <p>Why this linq query:</p>
  
  <pre><code>(from c in Orders
  select new 
  {
     Id=c.Id, 
     DeliveryDate = c.DeliveryDate.Value
  }).Take(10)
  </code></pre>
  
  <p>is translated into </p>
  
  <pre><code>SELECT TOP (10) [t1].[Id], [t1].[value] AS [DeliveryDate]
  FROM (
      SELECT [t0].[Id], [t0].[DeliveryDate] AS [value]
      FROM [Orders] AS [t0]
      ) AS [t1]
  </code></pre>
  
  <p>but when I change <code>DeliveryDate = c.DeliveryDate.Value</code> into <code>DeliveryDate = c.DeliveryDate</code> SQL query looks as simple as:</p>
  
  <pre><code>SELECT TOP (10) [t0].[Id], [t0].[DeliveryDate]
  FROM [Orders] AS [t0]
  </code></pre>