Я читал бесчисленные статьи о том, как сконструировать новое приложение 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?