Наиболее определенно создайте его вне хранилища. Если вы создаете его внутри службы, код тесно связан с типом экземпляра контекста. Это означает, что вы не можете иметь одно из своих хранилищ без EF. что вы действительно хотите сделать, так это наложить слой на вашу систему, чтобы хранилище могло использовать EF в качестве источника данных или что-то еще (например, таблицу в памяти).
Это имеет большое значение, когда речь идет о модульном тестировании, поскольку вам не нужно создавать экземпляр своей базы данных для запуска модульного теста.
Взгляните на http://blog.staticvoid.co.nz/2011/10/staticvoid-repository-pattern-nuget.html, это мой взгляд на то, как репозиторий должен быть реализован с EF4, также я создал пакет nuget для реализации этого шаблона таким образом, чтобы код получился Разобщенная система репозитория составляет около 4 строк.