2014-01-18 72 views
1

作爲查詢的一部分,我可以將我的Linq整合到Sql查詢結果中嗎?例如,以下查詢將返回下面的列表A.我希望我的清單能夠像下面的清單B那樣整合。我可以將我的Linq的結果整合到SQL查詢中嗎?

 IEnumerable<JoinClass> points = 
         from c in db.Users2 
         join e in db.Categories on c.Id_Users2 equals e.FK_Users2 
         join f in db.Programs on e.Id_Category equals f.FK_Categories 
         join g in db.Points on f.Id_Programs equals g.FK_Programs 
         where c.EEID == UserEEIDCast 
         orderby g.EntryDate ascending 
         select new JoinClass 
         { 
          Category = e.Category, 
          Programs = f.Programs, 
          Points = g.Points, 
          EEID = c.EEID, 
          EntryDate = g.EntryDate, 
          Name = c.Name 



     return View(points); 

列表A

名稱程序指向


吉姆運行10

吉姆運行3

吉姆步行7

吉姆步行4

鮑勃運行2 鮑勃運行1

列表B

名稱程序指向


吉姆運行13

吉姆步行11

鮑勃運行3

回答

0

嘗試:

points = points 
    .GroupBy(x => new { x.Name, x.Program }) 
    .Select(x => new JoinClass() {Name = x.Key.Name, Program = x.Key.Program, Points = x.Sum(y => y.Points) /* copy other properties to the new JoinClass here */ }); 

該代碼組使用複合鍵(名稱和程序),然後爲每個組會創建一個與積分等於所有的和新的JoinClass結果該組中的點。

相關問題