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?
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.
Here is a nice post regarding the repository pattern on top of EF:
You might also check out posts regarding the Unit of Work pattern implementation:
来源:https://stackoverflow.com/questions/3194185/ef-and-repository-pattern-multiple-contexts