Он должен находиться в каталоге «Модели» веб-приложения.ViewModels по определению относятся к одному или нескольким представлениям и поэтому принадлежат веб-приложению, а не ядру.
Вы могли бы определить их в контроллере, который их использует, но это не масштабируется.То же самое с определением класса в коде представления.Даже если один класс на файл означает больше файлов, его легче найти и легче поддерживать.
Я буду часто создавать подпапки для каждого контроллера, поэтому я получаю такие вещи, как Web.Models.Foo.BarViewModel .