Я думаю, вы на правильном пути со своим пониманием презентационных моделей. Что касается того, когда вы должны создать модель представления, ответ, вероятно, «это зависит». В вашем примере вы, вероятно, можете сойти с передачей BlogPost и Comments в объекте ViewData. Это не великолепно, но эй, это делает работу.
Когда и если это начинает казаться уродливым или громоздким, тогда я начинаю думать о создании модели представления. Я обычно заканчиваю понятием «Страница», которое включает в себя заголовок страницы, общие данные, а затем конкретный материал для конкретной страницы. В вашем случае это может закончиться как BlogViewPage, который включает в себя комментарии Title, BlogPost и List.
Приятной особенностью этого подхода является то, что вы можете затем протестировать этот контроллер, сделав запрос и протестировав BlogViewPage, чтобы убедиться, что он содержит ожидаемые данные.