В настоящее время мы используем репозитории, внедренные с UoW (единица работы), инстанцированные через сервисный локатор из фабрики репозиториев. Единство контролирует всю жизнь таким образом, забирая работу у вас.
Ваша конкретная реализация будет зависеть от того, используете ли вы POCO, Entity Objects и т. Д.
В конечном итоге вы хотите UoW, если вы собираетесь работать с более чем одним набором объектов в вашем контроллере, чтобы гарантировать, что вы используете только один контекст. Это будет держать ваши транзакции под контролем и т. Д.
Если вы собираетесь использовать несколько объектных контекстов (т. Е. Несколько EDMX), вы захотите взглянуть на использование UoW с MSDTC ... но это, вероятно, больше, чем вы хотели знать. В конце концов, важно убедиться, что вы просто создаете экземпляр того, что вам нужно для действия контроллера (то есть один экземпляр контекста). Я не думаю, что я бы пошел с Begin_Request, вам может даже не понадобиться контекст для каждого запроса.