我在 MVC 项目中有一个聚合数据视图,它显示按审计状态细分的每月总计。控制器代码使用简单的 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)。对此有什么一般性建议吗?文章、博客或其他处理该问题的地方以及何时使用哪个?