title: How the return type is determined in a method that uses Linq2Sql?
body: <p>I've usually have difficulties with return types when it comes to linq. I'll explain by the following examples. Let's say I have a Table <strong>Products</strong> with ProductID, Name, Category, and Price as columns :</p>
  
  <p>1) <strong>IQueryable&lt;***Product*</strong>>**</p>
  
  <pre><code>public IQueryable&lt;Product&gt; GetChildrenProducts()
  {
    return (from pd in db.Products
            where pd.Category == "Children"
            select pd);
  }
  </code></pre>
  
  <p>2) <strong>Product</strong> </p>
  
  <pre><code>public Product GetProduct(int id)
  {
    return (from pd in db.Products
            where pd.ProductID == id
            select pd).FirstOrDefault();
  }
  </code></pre>
  
  <p>Now, if I decide to select, for instance, only one column (Price or Name) or even 2 or 3 columns (Name and Price), but in any case, less than the 4 columns, what's going to be the return type?</p>
  
  <p>I mean this:</p>
  
  <pre><code>public returnType GetSomeInformation()
  {
   return (from pd in db.Products
           select new { pd.Name, pd.Price }
  }
  </code></pre>
  
  <p>What SHOULD BE the <strong>returnType</strong> for the <strong>GetSomeInformation()</strong>? </p>
  
  <p>Thanks for helping</p>