У вас не будет ViewModel для каждой модели, в MVVM у вас должен быть уникальный ViewModel почти для каждого вида.Затем вы должны сопоставить модель с моделью представления.
Например:
public class DepartmentViewModel
{
public string title { get; set; }
public string description { get; set; }
public IEnumerable<Worker> workers { get; set; }
//Additional ViewModel properties here
//These may or may not be items that exist in your Model
/// <summary>
/// Mapped to the description but truncated to 10 characters and followed by an elispe (...)
/// </summary>
public string ShortDescription
{
get
{
return description.Substring(0,10) + "...";
}
}
}
Сначала я понимаю, что это выглядит несколько излишним.Тем не менее, могут быть и другие типы представлений, отличные от 1: 1, которые вы можете создать из модели.
Также обратите внимание на automapper.org, это отличный инструмент для отображения объекта на объект.