2011-12-21 7 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

素晴らしいおかげでのDateFieldを交換してください! –

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) })  ; 

を働くかもしれないことはあなたの実際のプロパティで素晴らしいことだ

関連する問題