2014-02-19 104 views
0

我是LINQ的新用户,我现在正在尝试检索最后一次测验中发布的答案数量和最后一次测验的总分数。难点在于我有以下两个表,我需要编写一个LINQ语句来检索它所需的内容。数据库模式的如何将这两个LINQ语句组合成一个查询?

部分:

Quiz Table: ID, Description, TotalScore 
QuizAnswers Table: ID, Score, QuizID 

我能够通过写两个LINQ语句来获取所需的信息,但实际上我需要写一个声明或者二者结合成一个查询,以便我可以绑定一个GridView控件到它

要检索的最后一个测验贴出答案的数目:

var lastQuizId = context.Tbl_QuizAnswers.Max(s => s.ID); 
var numOfAnswers = context.Tbl_QuizAnswers.Where(s => s.QuizID == lastQuizId).Count(); 
return numOfAnswers; 

要检索最后竞猜总进球数:

var lastQuizId = context.Tbl_Quiz.Max(s => s.ID); 
var totalScore = context.Tbl_Quiz.Where(s => s.ID == lastQuizId).Select(s => s.TotalScore).First(); 
return totalScore; 

所以,请你告诉我如何将这些合并这两个查询帮助我吗?

回答

0
(from q in context.Tbl_Quiz 
select new { 
      Quiz = q, 
      Answers = q.Tbl_QuizAnswers, 
      AnswerCount = q.Tbl_QuizAnswers.Count, 
      Max = q.Max(q.TotalScore) 
      } 
orderby q.ID desc) 
.FirstOrDefault() 

如果你没有关系,建立正常,你可以为AnswersAnswerCount,但是通过使用q

+0

它没有和我一起工作使用那些你有疑问。 – user3107976

相关问题