title: DbContext discard changes without disposing
body: <p>I have a desktop client application that uses modal windows to set properties for hierarchical objects. Since this is a client application and access to the DbContext is not threaded, I use a long-running context on the main Form that gets passed around to modal children.</p>
  
  <p>These modal windows use the PropertyGrid to display entity properties and also have cancel buttons. If any data is modified and the cancel button is pressed, the changes are reflected in the parent form (where I cannot dispose the <code>DbContext object</code>).</p>
  
  <p>Is there a way to discard any changes made if the <code>DbContext.SaveChanges()</code> method has NOT been called?</p>
  
  <p><strong>UPDATE:</strong> Entity Framework Version 4.4.</p>