views:

86

answers:

3

I've faced some troubles with context in EF in ASP.MVC2.

I thought that best way to improve some operation on DataBase i've created Repository. My repo class adds, deletes, select many items so i don't need to write

(using <name>Context = new (... etc ...) ) { ... }

Repository eliminates initializing context for every operation, but don't dispose the context.

What is the best way to manage contexts? If i create other repository class and try to do any operation which will need objects from both contexts there is a problem.

Is there any other way or better way to implement repository, to manage contexts? Any interesting pattern?

+1  A: 

A context is a unit of work, so you want one per web request.

Therefore, you should use constructor injection (i.e., a constructor argument) to supply a single context for all repositories, and dispose it at the end of the request.

Most DI frameworks will do this automatically.

Craig Stuntz