简体   繁体   中英

SQL query to LINQ expression

How can I translate this SQL query to a LINQ expression?

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

I tried it, but it didn't work

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM