2014-02-19 136 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

相關問題