title: Get strong types from a DataTable in .NET 3.5
body: <p>I have no choice but to work with the following:</p>
  
  <ul>
  <li>I'm given a non-strongly-typed <code>DataTable</code> whose columns are known</li>
  <li>I have accompanying POCO model classes which can be annotated by attributes if needed</li>
  <li>I have to stick with .NET 3.5</li>
  <li>I want to get something that exposes the <code>DataTable</code> as a generic collection, list or enumerable, etc. of the strong POCO type (or at least pass it a <code>typeof</code>() and get back an object which can be cast).</li>
  </ul>
  
  <p>The table could have a large number of columns. I don't want to have to string-index the data table for each one. I seem to remember a mechanism whereby a framework used reflection to do this, but I can't find it.</p>
  
  <p>I don't care which technology I end up using (be it EF, Linq, etc.) so long as it stays within the Microsoft stack (I can't use third-party APIs). I'd prefer not to create EF design files, nor have VS create the model class for me. How do I do this as painlessly as possible?</p>