2011-12-21 58 views
1

我有查詢:的LINQ返回的第一次約會

var q = db.tblArcadeGamePlays 
    .Where(c => c.GameID == GameID && c.ReferalID != 0 && c.ReferalID != null) 
    .GroupBy(r => new { r.ReferalID }) 
    .Select(g => new { Plays = g.Count(), URL = g.Key.ReferalID }) 
    ;  

tblArcadeGamePlays也有場Date,該組中的我想返回組中包含的最早觀測到的日期。

我該怎麼做?

回答

6
.Select(g => new { 
     Plays = g.Count(), URL = g.Key.ReferalID, 
     MinDate = g.Min(x => x.Date 
}); 

威力還發現LINQ的語法更容易閱讀/維護這裏,但是...擴展語法也可以工作。但是隨着LINQ:

var q = from c in db.tblArcadeGamePlays 
     where c.GameID == GameID && c.ReferalID != 0 && c.ReferalID != null 
     group c by c.ReferalID into g 
     select new { 
      Plays = g.Count(), URL = g.Key.ReferalID, MinDate = g.Min(x=>x.Date) 
     }; 
+0

真棒由於這是偉大的! – 2011-12-21 08:14:30

1

這可能工作

var firstIndex = q.Min(c => c.Date); 
1
var q = db.tblArcadeGamePlays  .Where(c => c.GameID == GameID && c.ReferalID != 0 && c.ReferalID != null)  .GroupBy(r => new { r.ReferalID })  .Select(g => new { Plays = g.Count(), URL = g.Key.ReferalID , Date = g.Min(cc=>cc.DateField) })  ; 

替換的DateField與您的實際屬性

相關問題