У меня есть таблица sql, в которой представлены исторические значения потребления энергии. Теперь мне нужно выполнить некоторые запросы, чтобы получать статистику по часам, дням, неделям, месяцам и годам. Конечно, каждый из них разделен. Пример запроса:Сортировать по дате и группе за день
from c in context.ConsumptionSet
join e in context.EquipmentSet on c.EquipmentID equals e.EquipmentID
orderBy c.Date
group new { c, e } by c.Date into grp
select new
{
date = grp.Key.Day,
value = grp.GroupBy(i => i.e.EquipmentID).Sum(g => g.Max(i => i.c.Value))
})
A Вы можете видеть, я хочу, чтобы список заказываются по дате первого (который относится к типу DateTime), а затем группируются в день. Однако этот выше запрос не предоставил мне исключенный результат. Что мне там недостает?
Какой результат вы получили? –
Проблема может заключаться в том, что 'group' уничтожает заказ, наложенный' orderBy'. ([Ссылка] (http://stackoverflow.com/questions/204505/preserving-order-with-linq)) –
точно, я не получаю ожидаемый порядок, просто случайные значения .. так что я должен в чтобы получить желаемый результат? – mahoosh