Я просто потратил некоторое время на чтение этих терминов (я их не так много использую, так как у нас нет каких-либо приложений MVC, и я обычно говорю "модель" ), но у меня такое ощущение, что это означает разные вещи в зависимости в контексте:
Entity
Это довольно просто, это одна строка в базе данных:
2) В отношении базы данных объект - это одно лицо, место или о том, какие данные можно сохранить.
Model
Я часто читаю, это в основном комбинация сущностей для представления полного набора данных, пусть, например, модель списка адресов клиента объединяет клиентов, адреса и, возможно, отдельных лиц.
ViewModel
Термин в шаблонах MVVM или MVC, который является моделью, которая представляет собой точно данные, которые вы можете видеть в представлении. Модель просмотра находится на уровне приложения и имеет атрибуты для проверки, т.е. ASP.NET MVC Model vs ViewModel
С моей точки зрения, эти термины кажутся немного избыточными: Viewmodel, очевидно, использует его, в противном случае вид должен был бы сделать всю тяжелую работу, чтобы показать правильные вещи. Сущность - это просто представление, как мы знаем из EF, но если вы объедините эти два, где модель использует его?
Вещи, такие как проверка, безопасность и т.д., должны выполняться в ViewModel. Используете ли вы модель, когда у вас есть сотни небольших таблиц, чтобы добавить другую абстракцию между объектами и моделью просмотра? Или в терминах MVC и MVVM-объектов и моделей обычно одинаковы?
Как обычно спасибо и приятные выходные
Маттиас