У меня есть агрегированный просмотр данных в проекте MVC, который отображает итоговые суммы в месяц, разбитые по статусу аудита. Код контроллера устанавливает это вверх, используя простую проекцию LINQ в анонимный объект, как это:Если проекция LINQ будет строго типизирована
From audits In db.Audits
Group By key = audits.DateCreated.Value.Month Into g = Group
Select New With {
.Month = key,
.Assigned = g.Sum(AuditsWithStatus(AuditStatus.Issued)),
.Unassigned = g.Sum(AuditsWithStatus(AuditStatus.Pending)),
.Closed = g.Sum(AuditsWithStatus(AuditStatus.Closed)),
.Cancelled = g.Sum(AuditsWithStatus(AuditStatus.Cancelled))
}
Я знаю, что это один из самых больших преимуществ LINQ (с помощью анонимных типов), но я не люблю проигранное сильная типизация в представлении (т. е. @ModelType SomeStrongType). Есть ли общие рекомендации по этому поводу? Статьи, блоги или другие места, которые касаются проблемы и когда ее использовать?
анонимные типы создаются во время компиляции. они по-прежнему строго типизированы с точки зрения времени выполнения - у них просто есть сгенерированные компилятором имена. –