@gfrizzle指出here給出LINQ時這樣說的LINQ to SQL生成獨立的SELECT語句爲每個計數操作:LINQ多個計數操作
From d in db
Group d.a.AuditStatus By d.a.DateCreated Into Group
Select _
DateIssued = DateCreated, _
TotalAudits = Group.Count(), _
TotalCancelled = Group.Count(Function(x) If(x = "Cancelled", True, False)), _
TotalComplete = Group.Count(Function(x) If(x = "Complete", True, False)), _
TotalIssued = Group.Count(Function(x) If(x = "Issued", True, False)), _
TotalPending = Group.Count(Function(x) If (x = "Pending", True, False)), _
Remaining = 0
正如在問題變得足夠大,這可以很容易地將數據導致巨大的性能下降。我知道我可以將它重寫爲原生SQL查詢,但是我在其他地方使用了LINQ的幾項功能(如能夠打破我的where子句),如果我可以避免它,我不想放棄。任何其他解決方法?
試過了,沒什麼區別。 – 2012-01-05 21:30:20