Это зависит.
Во многих случаях использования главная цель не состоит в том, чтобы выставлять поля для привязки при отправке формы, которые пользователь не должен иметь возможности обновлять.Я не стал бы рабски создавать их, когда они не нужны, но это зависит от разработчиков и их уровня понимания того, когда и почему вы используете viewmodels против моделей domain / ef.Также имеет значение базовый размер кода приложения.
Возможно, вам нужны списки выбора, может быть, вы хотите преобразовать некоторые свойства в разные типы.Множество причин их использовать.Однако это больше кода и кода сопоставления, даже если вы используете такой инструмент, как AutoMapper.Таким образом, они тратят время на внедрение, но, может быть, они решают проблемы и экономят время?Может быть, они решают проблему безопасности?Может быть, делать их все как модели представления помогает юниорам понять?Может быть, вы предпочли бы выполнить настройку модели представления при запуске, чем преобразовывать код позже, когда это действительно необходимо?
Согласованность может помочь, но выполнение дополнительной работы может не стоить.Лучшая практика для меня не лучшая практика для вас.
Учитывайте затраты и выгоды для вашего проекта и команды.Например, возможно, ваш проект является внутренним, и никто не собирается пытаться взломать его путем добавления данных в отправку