Как спроектировать MVC 3, EF, ViewModels, AutoMapper, POCO, репозиторий и единицу работы в n-уровневом проекте?

Я читал бесчисленное количество статей о том, как спроектировать новое приложение MVC 3, используя передовой опыт.

90% статей объединяют файлы EF EDMX в тот же проект, что и приложение MVC. Те, кто разделяет эти элементы на свои собственные проекты, не уточняют, в какой проект каждый входит и какие ссылки есть у каждого проекта. Обычно они состоят из фрагментов кода, которые отлично подходят для обучения тому, как выполнять определенную функцию, но не говорят мне, как спроектировать решение.

Я считаю, что мне нужно как минимум 5 проектов в моем решении. Может ли кто-нибудь сказать мне, правильный ли у меня макет?

  • Уровень доступа к данным - содержит файлы EF EDMX. (Возможно, автоматически сгенерированный код DBContext?)
  • Бизнес-уровень - содержит классы IRepository и Repository, классы UoW, а также бизнес-логику для домена. - Содержит ссылку на DAL.
  • ViewModels - содержит модели просмотра, которые будут использовать AutoMapper для перехода между моим DAL и уровнем представления. - Содержит ссылку на DAL.
  • Приложение MVC 3 - Стандартное приложение MVC 3. Содержит ссылки на проекты BusinessLayer и ViewModels.
  • Тест - Модульное тестирование.

Это правильно? Может ли кто-нибудь указать мне на хорошую статью, в которой используется n-уровневая разработка с ViewModels, AutoMapper, шаблонами репозитория и EF4?

7
задан jgauffin 7 November 2011 в 21:25
поделиться