Анонимный тип не предназначен для использования вне рамок метода, поэтому обычно это просто одноразовые типы, которые будут использоваться только в этом методе.
Я бы предпочел загрузить данные в обычный класс поверх ViewModel, чтобы полностью отделить модель от представлений.Я бы использовал пользовательский класс для хранения извлеченных данных, а затем в Контроллере заполнил ViewModel этим классом и получил бы бритвенное представление, строго типизированное для ViewModel.Это немного менее компактно, но имеет лучшее разделение проблем.