我有以下查詢接收ID的列表,我想做一個計數。還有一個對象模型CountModel,它保存每個屬性定義爲int的計數。linq-to-sql中的分組和計數
public class GetCountByStatus(List<int> TheIDs)
{
...using MyDC...
var CountData = (from d in MyDC.Data
where TheIDs.Contains(d.ID)
group d by d.Status into statusgroup
select new CountModel()
{
CountStatus1 = (from g in statusgroup
where g.Status == 1
select g).Count(),
CountStatus2 = (from g in statusgroup
where g.Status == 2
select g).Count(),
CountStatusN = ....
}).Single();
如果例如沒有狀態爲N的元素,此代碼是否會崩潰或CountStatusN的計數爲0?這是做我想做的最好的方式嗎?
謝謝。