title: Repository pattern and return types
body: <p>I am using the repository pattern where I have one repository class per database table. I was wondering how you guys approach queries that only need to return a specific number of columns </p>
  
  <p>For example say I have the following</p>
  
  <p><strong>Item Table</strong>  (fictional table)</p>
  
  <pre><code>ItemId
  Name
  PurchaseDate
  Description
  Price
  </code></pre>
  
  <p>In my code I create an object with the fields above called Item.cs (currently not using an orm).</p>
  
  <p>If I have multiple scenarios where I need to return </p>
  
  <ol>
  <li>ItemId</li>
  <li>A combination of PurchaseDate and Name</li>
  <li>ItemId and price</li>
  </ol>
  
  <p>Which would be the best approach?</p>
  
  <ol>
  <li>Get all fields from the items table and return an Item object (1 repo query)</li>
  <li>Create three queries in Repo and return an Item object for each one</li>
  <li>Create three queries in Repo and return only what is needed?</li>
  </ol>
  
  <p>Now imagine this scenario with a table with over 10 fields.</p>
  
  <p>Personally, I like option one, but I'm not sure if there is a better way to go about this.</p>