我有一個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)。有關於此的一般建議嗎?文章,博客或其他地方處理該問題以及何時使用哪些內容?
匿名類型在編譯時生成。從運行時的角度來看,它們仍然是強類型的 - 它們只有編譯器生成的名稱。 – 2012-07-24 12:41:14