Согласны с @ Робертом Харви и @ Джакобсоном.
DAL должен обрабатывать контекст, с одним исключением:
Если вы используете шаблон Единица работы .
UoW является оболочкой для контекста, поэтому, когда вы «создаете новый UoW», вы фактически создаете новый контекст данных. Поскольку единица работы обрабатывает множество репозиториев, она не может быть создана в самом DAL.
UoW (в контексте MVC) будет передаваться в контроллеры, которые передаются в репозиторий, который затем запрашивается.
В этом случае вы бы обновили UoW (и, следовательно, контекст) во время запроса приложения событий (global.asax) и удалили его в конце запроса (предпочтительно с использованием контейнера DI).