如何将此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)}
答案 0 :(得分: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)
};