title: How do I implement versioning with Entity Framework
body: <p>I have a project that will be built incrementally.</p>
  
  <p>The project is a desktop application, with Entity Framework with packages laid out like so:</p>
  
  <p>Entity Framework + DAL -> Application + Logic etc</p>
  
  <p>Version 1.0 had 2 objects:</p>
  
  <ul>
  <li>Blog  </li>
  <li>Post</li>
  </ul>
  
  <p>So I package it up and send it off to my client, he wants a few changes and I make further progress with the system as a whole.</p>
  
  <p>Version 2.0 now has 3 objects:</p>
  
  <ul>
  <li>Blog</li>
  <li>Post</li>
  <li>User</li>
  </ul>
  
  <p>With Entity Framework the database schema no longer matches V1.0, the first version is now dead because of this and an error is thrown. I want my client to still be able to use version 1.0. How could/should I have built my application to allow the continued use of V1?</p>
  
  <p><strong>Edit for EnglishBob:</strong></p>
  
  <p>I want my Client to still be able to use V1. Say he has a testing department and they <em>need</em> to be able to use their LIVE DB or he has difficulty in scaling out the application across departments effeciently so must have both v1 and v2 running concurrently.</p>