I\'m using a single instance of DbContext scenario to shadow entire copy of the database locally in a WPF app. I\'ve heard this is bad practice, but my database
With Entity Framework 4.1, the recommendation for WPF data binding has changed to use .Local and a persistent DbContext.
http://blogs.msdn.com/b/efdesign/archive/2010/09/08/data-binding-with-dbcontext.aspx
It's, of course, possible to dispose of it whenever you need to, but it can negatively impact the UI if you do.
Here's another method, but I'm not sure that it takes EF4.1's features into account:
http://msdn.microsoft.com/en-us/library/cc716735.aspx