SQL查询到LINQ表达式

本文关键字:表达式 LINQ 查询 SQL | 更新日期: 2023-09-27 18:25:47

如何将此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)}

SQL查询到LINQ表达式

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