Entidade vs Modelo vs Ver Modelo
Passei um tempo lendo esses termos (não os uso muito, pois não temos aplicativos MVC e geralmente digo "modelo"), mas sinto que isso significa coisas diferentes, dependendo do contexto :
Entidade
Isso é bastante simples, é uma linha no banco de dados:
2) Em relação a um banco de dados, uma entidade é uma única pessoa, local ou coisa sobre a qual os dados podem ser armazenados.
Modelo
Costumo ler, isso é basicamente uma combinação de entidades para representar um conjunto completo de dados, digamos que um modelo de lista de endereços de um cliente combine as entidades cliente, endereço e provavelmente individual.
Viewmodel
Um termo nos padrões MVVM ou MVC, que é um modelo, que representa exatamente os dados que você pode ver na visualização. O viewmodel está na camada do aplicativo e possui atributos para validação, f.e.Modelo do ASP.NET MVC vs ViewModel
Do meu ponto de vista, esses termos parecem um pouco redundantes: o Viewmodel obviamente tem seu uso; caso contrário, o view teria que fazer todo o trabalho duro para mostrar as coisas certas. A entidade é apenas a representação, como sabemos da EF, mas se você combinar essas duas, onde o modelo é usado?
Coisas como validação, segurança etc. devem ser feitas no ViewModel. Você usaria o modelo quando tiver centenas de pequenas tabelas para colocar outra abstração entre as entidades e o modelo de exibição? Ou Em termos de entidades e modelos MVC e MVVM, geralmente são os mesmos?
Como de costume, obrigado e um bom fim de semana
Matthias