Должен ли я реализовать DTO в репозитории с EF?

В моем проекте я использую подход EF Code First. У меня есть уровень хранилища, уровень обслуживания и уровень представления (ASP.NET MVC). Я использую выделенную модель для каждого вида.

Что меня смущает, так это то, что мои службы должны возвращать сущности контроллеру для сопоставления их с моделями представления, или я должен реализовывать DTO и возвращать их из служб?

Таким образом, вопрос заключается в том, когда поток будет выглядеть как «EF -> Repository -> Service -> UI», каким будет преобразование данных. "Entity -> DTO -> Viewmodel" или "Entity -> Viewmodel"?

Кажется, если я использую DTO, они будут как бы повторять сущности.

Я пытаюсь следовать лучшим практикам.

Спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос