(Примечание. Мой вопрос очень похож на человека, который задал этот вопрос три месяца назад, но на него никогда не отвечали.)
Недавно я начал работать с MVC3 + Entity Framework, и я продолжаю считать, что наилучшей практикой является использование шаблона репозитория для централизации доступа к DAL. Это также сопровождается пояснениями, что вы хотите сохранить DAL отдельно от домена и особенно слоя представления. Но в примерах, которые я видел, репозиторий (или кажется) просто возвращает DAL-сущности, то есть в моем случае репозиторий будет возвращать объекты EF.
Итак, мой вопрос: насколько хорош репозиторий, если он возвращает только объекты DAL? Разве это не добавляет слой сложности, который не устраняет проблему прохождения объектов DAL между слоями? Если шаблон репозитория создает "единственную точку входа в DAL", как это отличается от контекстного объекта? Если репозиторий предоставляет механизм для извлечения и сохранения объектов DAL, как это отличается от контекстного объекта?
Кроме того, я прочитал хотя бы одно место, в котором шаблон "Единица работы" централизует доступ к репозиторию для управления объектами (объектами) данных, но я не понимаю, почему это тоже важно.
Я 98.8% уверен, что здесь что-то не хватает, но из моих чтений я этого не видел. Конечно, я просто не могу читать правильные источники...:\