Since linq does not allow you to use the Date() method inside a linq query, I read about using DbFunctions.TruncateTime, which works fine until you try using it inside an anonymous type which is what I need to do in order to group on multiple fields. I also tried creating a new datetime using just the date portion of my field but this doesn't work either (again with the same error).
My query looks like
kw = kw
.GroupBy(x => new { DbFunctions.TruncateTime(g.SummaryHour), x.KeywordID })
.SelectMany(x => x)
.OrderByDescending(x => x.KeywordID);
I tried chaining the group by's together like groupby.groupby... but this doesn't give me the same result. Any way I can achieve this? I'm basically trying to filter out the time portion of my date and group by other fields as well.
Sure you can use a method in an anonymous type, but you have to supply the name of the property, because the compiler doesn't have anything to derive it from:
kw.GroupBy(x => new {
Date = DbFunctions.TruncateTime(g.SummaryHour),
x.KeywordID
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With