Linq回归第一次约会

Tom*_*len 1 c# linq asp.net linq-to-sql

我有查询:

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 })
    ;       
Run Code Online (Sandbox Code Playgroud)

tblArcadeGamePlays还有一个字段Date,在该组中我想返回该组包含的最早观察日期.

我该怎么做?

Mar*_*ell 6

.Select(g => new {
       Plays = g.Count(), URL = g.Key.ReferalID,
       MinDate = g.Min(x => x.Date
});
Run Code Online (Sandbox Code Playgroud)

可能还会发现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)
        };
Run Code Online (Sandbox Code Playgroud)