2016-11-13 103 views
0

我有一个Exam表条件计,然后ExamResults其中包括特定考试的所有问题。此表将包含的问题,选择答案,以及AnswerPower,表示如果答案是正确与否:的GroupBy和使用LINQ

  • (指正确的),
  • (指错了),
  • NULL(表示未答复,将被视为错误)。

我试图得到Count由章节分组的特定考试的错误答案。

下面会给我按章分组答案的数量,但我不知道哪儿来设定条件只计算错误的答案它可以简单地AnswerPower!=1

   var query = ex.ExamResults 
       .GroupBy(p => new 
      { 
       p.Question.Chapter.ChapterName, 
       p.AnswerPower 
      }) 
      .Select(g => new 
      { 
       g.Key.ChapterName, 
       Mistakes = g.Count() 
      }); 

回答

2

里面count你可以给像下面的条件,请注意,我已经从GroupBy

去除
1
ex.ExamResults 
    .GroupBy(p => new 
      { 
       p.Question.Chapter.ChapterName, 
       p.AnswerPower 
      }) 
    .Where(p => p.AnswerPower!=1) 
    .Select(g => new 
      { 
       g.Key.ChapterName, 
       Mistakes = g.Count() 
      }); 
+0

“Where”中没有直接的'p.AnswerPower',我想你的意思是'p.Key.AnswerPower!= 1' – omarmallat