title: How many DataTable objects should I use in my C# app?
body: <p>I'm an experienced programmer in a legacy (yet object oriented) development tool and making the switch to C#/.Net. I'm writing a small single user app using SQL server CE 3.5. I've read the conceptual DataSet and related doc and my code works.</p>
  
  <p>Now I want to make sure that I'm doing it "right", get some feedback from experienced .Net/SQL Server coders, the kind you don't get from reading the doc.</p>
  
  <p>I've noticed that I have code like this in a few places:</p>
  
  <pre><code>var myTableDataTable = new MyDataSet.MyTableDataTable();
  myTableTableAdapter.Fill(MyTableDataTable);
  
  ... // other code
  </code></pre>
  
  <p>In a single user app, would you typically just do this once when the app starts, instantiate a DataTable object for each table and then store a ref to it so you ever just use that single object which is already filled with data? This way you would ever only read the data from the db once instead of potentially multiple times. Or is the overhead of this so small that it just doesn't matter (plus could be counterproductive with large tables)?</p>