title: Entity Framework DbContext and thread safety
body: <p>I need to update a few tables in my DB in a single transaction and I read that using <code>DbContext.SaveChanges</code> should be the way to do so.  </p>
  
  <p>However I also read that the lifetime of the <code>DbContext</code> should be as short as possible because it grows over time as it loads more entities.  </p>
  
  <p>Also I read that in order to make it thread-safe, each action should have its own <code>DbContext</code>.  </p>
  
  <p>Should I have a <code>DbContext</code> for each table I want to change and call <code>SaveChanges</code> on each <code>DbContext</code>? Wouldn't the last <code>SaveChanges</code> call override the changes of the previous calls?</p>
  
  <p>What is the best way to do it? (I need this for a website)</p>