Я создаю проект с Asp.net MVC 5, Web Api 2 и Entity Framework. Я проектирую его с помощью архитектуры Onion, поэтому у меня есть слои DAL, Service и UI.MVC Onion architecture, некоторые вопросы
Мой слой DAL содержит UnitOfWork и репозитории, мой сервисный уровень содержит службы для бизнес-кейсов.
Но у меня есть следующие вопросы:
Где использовать единицы работы сохранить (или совершающие) метод ?, в слое услуг или в слое пользовательского интерфейса? , если я использую его на уровне служб, как мне обращаться с случаями, которые охватывают несколько служб?
Я использую DTO для операций webapi, должен ли слой служб возвращать DTO или сопоставление должно выполняться в слое пользовательского интерфейса?
Должны ли DTO находиться в отдельном проекте или в проекте пользовательского интерфейса? Если они находятся в отдельном проекте, я должен использовать атрибуты MVC для проверки?
Хранилище на вершине EF плохо, mkaaaay? –
Я не думаю, что OP конкретно говорит, что он настроен. –
@Sippy Если у вас когда-либо был менеджер/архитектор, изменивший его/ее разум в середине проекта о вашей технологии доступа к данным, вы знаете, что у вас есть уровень абстракции над вашей инфраструктурой доступа к данным. Таким образом, нет, репозитории поверх EF (или любой ORM) не плохи, если они инкапсулируют ORM. –