0

如何将此 SQL 查询转换为 LINQ 表达式?

select NoteDate, SUM( DurationInHours ) from Note 
where IDUser = '2933FB9C-CC61-46DA-916D-57B0D5EF4803' and 
      NoteDate > '2013-07-01'
group by NoteDate

我试过了,但没有用

var lastMonth = DateTime.Today.AddMonths(-1); 
var userNotes = GetNotesByUser(idUser); 
var b = from note in userNotes 
        group note by new {note.IDUser, note.NoteDate, note.DurationInHours} into g 
        where g.Key.NoteDate > lastMonth  
        select new {g.Key.NoteDate, TotalHours = g.Sum(a => a.DurationInHours)}
4

1 回答 1

3
var id = new Guid("2933FB9C-CC61-46DA-916D-57B0D5EF4803");
var date = new DateTime(2013, 7, 1);

var query = from n in db.Notes
            where n.IDUser == id && n.NoteDate > date
            group n by n.NoteDate into g
            select new {
                NoteDate = g.Key,
                Sum = g.Sum(x => x.DurationInHours)
            };
于 2013-07-31T20:25:34.173 回答