What is the best way to instantiate and dispose DbContext in MVC?

Viewed 13035

MVC 3 + EF 4.1

I'm choosing between two approaches to deal with DbContext:

  1. Instantiate in Application_BeginRequest, put it into HttpContext.Current.Items and dispose in Application_EndRequest.
  2. Create disposable UnitOfWork (kindof wrapper for DbContext) and start each controller action with using(var unitOfWork = new UnitOfWork()) { ... }

Share your experience please: Which one would you prefer? what are pros and cons for each approach?

3 Answers
Related