Вы все еще проверяете те данные, которые в конечном итоге возвращаются в базу данных.Поэтому, чтобы сохранить ваше приложение DRY , лучше всего использовать классы друзей для исходной модели.
Редактировать
Примечание:это не имеет ничего общего с вашим вопросом
Я лично предпочитаю расширять исходную модель для всего, что связано с «Редактированием», и я предпочитаю использовать ViewModel только для «Отображения» (страницы сведений,Страницы списка и т. Д.).
Пример: вот мой класс собеседника, и в него я добавил свойство RegionName, которое я использую в окне редактирования страницы, но оно не имеет ничего общего сбаза данных.Вы можете сделать то же самое с пользовательскими входными данными, которые вы хотите проверить, прежде чем манипулировать ими с данными, «пригодными для использования в базе данных».Я использую RegionID в базе данных, но я предпочитаю использовать понятное имя для посетителя вместо идентификатора integer
<MetadataType(GetType(UserMetaData))> _
Partial Public Class User
Public RegionName As String
End Class
Public Class UserMetaData
<DisplayName("region name")> _
<Required(ErrorMessage:="region name is required.")> _
Public Property RegionName As String
End Class