Я впервые застрял в некоторых запросах linq, и я борюсь с некоторыми из более сложных. Я создаю запрос для извлечения данных из таблицы для построения графика. Колонны таблиц, которые меня интересуют: Id, Время и Значение.Группировка по диапазонам времени в Linq
Пользователь выберет время начала, время окончания и количество интервалов (точек) на график. Столбец значений будет усреднен для каждого интервала.
Я могу сделать это с помощью запроса linq для каждого интервала, но я пытаюсь записать его в одном запросе, поэтому мне нужно только один раз перейти к базе данных.
До сих пор я получил:
var timeSpan = endTime.Subtract(startTime);
var intervalInSeconds = timeSpan.TotalSeconds/intervals;
var wattList = (from t in _table
where t.Id == id
&& t.Time >= startTime
&& t.Time <= endTime
group t by intervalInSeconds // This is the bit I'm struggling with
into g
orderby g.Key
select g.Average(a => a.Value))
).ToList();
Любая помощь в группировке более временных диапазонов будет только приветствовать.
Вдохновленный благодарю вас – Magpie