Я хочу, чтобы моя модель предметной области User
была чистой, но я также не хочу дублировать все свои свойства User
из моей модели данных в новую ViewModel. Есть ли причина, по которой я не вижу ничего подобного во всех примерах ViewModelmodel?
Будет ли ModelState.IsValid
подоконник работать?
У меня есть несколько моделей данных с более чем 30 свойствами, и некоторые виды используют большинство свойств, поэтому я не хочу управлять данными и свойствами модели по мере роста проекта.
Это мой первый переход к программированию Модель / Контроллер / Представление, поэтому я могу рассмотреть это упрощенно. Я просто не понимаю, почему мы хотели бы скопировать / вставить большую часть модели данных в модель представления, чтобы отделить модель от представления.
Может быть, это нормально, но не предпочтительнее держать вид отдельно от модели? Просто ищу опытные рекомендации.
Пример:
public class UserViewModel : User
{
public Car car { get; set; }
}
public class User
{
[Required]
public string Name { get; set; }
}
cshtml
@model Project.Models.UserViewModel
<p>@Model.User</p>