Within MVVM you have 3 components:
- the model
- the view (speaks for itself)
- the viewmodel
In entity framework, you have:
So how does it relates?
The Entity
In general it's "a thing" which has a right to exist. Within a EF context this is often referred to as a table.
ViewModel
It's a model, tailor made for a view. Ideally it contains a set of properties and some commands. Through binding, you can update your view by setting properties. The text of a label for example.
The Model
Now the fun starts; the Model is an object, possibly containing data and some of the business logic.
Basically, this could be an entity, but it doesn't necessarily have to be. As a matter in fact; depending on the size of your application don't (or do) want to mix your data layer with your business logic.
Wikipedia states it beautifully:
Model refers either to a domain model, which represents real state content (an object-oriented approach), or to the data access layer, which represents content (a data-centric approach)
So, the entity can be your model, but in larger applications there is quite often a layer in between to separate the "business" language from the data layer language.
Note; if you put an API on top of things, you might also want to dig into the DTO.