Технически использование ViewModel
означает, что вы фактически не привязываетесь к своим сущностям. Ваши ViewModel
классы должны иметь на них все, что нужно представлению (и да, это может вызвать ощущение дублирования, но для общего блага), и поэтому у вас даже нет этой проблемы.
Вы можете облегчить задачу дублирования, внедрив что-то вроде AutoMapper , чтобы избежать трудоемкости кодирования «слева направо», когда вы просто копируете свойства.
Если вы связываете список, подумайте о том, чтобы иметь EmployeeListViewModel
со свойством типа IList<EmployeeViewModel>
, чтобы вы по-прежнему не связывали свои сущности непосредственно с представлением. Это полезно, потому что вы можете затем использовать это значение EmployeeViewModel
для подробного просмотра отдельной записи.