title: Best way to save multiple datatables for later use
body: <p>I currently have a mysql Database with multiple tables.<br>
  Some of my tables has over 10000 rows. <br>
  Now I wonder, what is the best way to store the tables that I get from the db to get access to them from different ViewModels. <br> <br></p>
  <p>Right now I use variables like this in the ViewModel of my program:</p>
  <pre class="lang-cs prettyprint-override"><code>private DataTable _EmployeeList;
  </code></pre>
  <p>And I only want to load that data from the database if I really need it to not use too much of my RAM. After the first load, I keep them stored in  RAM to get better performance on the next access. <br> <br></p>
  <p>I thought about creating a new class where I can store them in static variables. (But here is the problem of loading the data with different joins --&gt; too much data that is not needed everywhere) <br>
  Or using a DataSet where I can add the table to the set if I need them. <br> <br></p>
  <p>But are there any better ways to achieve the goal? Or is one of my ideas good enough? <br> <br></p>
  <p><strong>Edit</strong> <br>
  The tables are only updated after the user adds / edits or deletes a datarow. <br> <br>
  To be more clear, I have a UI that shows all the data that is stored in the tables (I use a DataGrid for that). Some of the data has foreign keys, that's why I use inner joins to get the the name out of the the second table for the visual content. <br> <br>
  The DataGrid load is pretty slow but that's another topic. <br>
  Also I don't want to request the the server all the time to get the same data over and over again. That's why I wanna save the data in the ram.</p>