2015-11-15 72 views
0

如何刪除specefic行我有這樣的LINQ到實體:從LINQ結果

 var sitesGrpByClientAndFreq = from cfr in clientFullReview2           
             group cfr by new { cfr.inspectionFreqvency } into g 
             select new 
             { 
              inspectionFreqvency = g.Key.inspectionFreqvency, 
              siteCount = g.Select(x => x.siteId).ToArray().Distinct().Count(), 
              normalSitesCount = g.Where(x => x.isNormal == true).Select(x=>x.isNormal).ToArray().Count(), 
             } 

從上面的LINQ我得到這樣的結果:

enter image description here

我的問題是如何刪除所有行在哪裏inspectionFrequency = -1

+3

爲什麼你不使用'where','where inspectionFreqvency!= -1'?看到這一點:https://msdn.microsoft.com/en-us/library/gg509017.aspx#SimpleWhereClause – AsfK

+0

謝謝,我錯過了現在,我意識到,這是愚蠢的問題! – Michael

回答

1

你可以混合和匹配wherelet關鍵字。它可能是這樣的:

var sitesGrpByClientAndFreq = 
    from cfr in clientFullReview2           
    group cfr by new { cfr.inspectionFreqvency } into g 
    let inspectionFreqvency = g.Key.inspectionFreqvency 
    where inspectionFreqvency != -1 
    select new 
    { 
     inspectionFreqvency = inspectionFreqvency, 
     siteCount = g.Select(x => x.siteId).ToArray().Distinct().Count(), 
     normalSitesCount = g.Where(x => x.isNormal == true).Select(x=>x.isNormal).ToArray().Count(), 
    }