J'ai commencé à me plonger dans quelques requêtes linq pour la première fois aujourd'hui et j'ai des difficultés avec certaines des plus complexes. Je suis en train de construire une requête pour extraire des données d'une table afin de construire un graphique. Les colonnes des tables qui m'intéressent sont Id, Time et Value.
L'utilisateur va sélectionner une heure de début, une heure de fin et le nombre d'intervalles (points) à afficher sur le graphique. La colonne des valeurs sera en moyenne pour chaque intervalle.
Je peux le faire avec une requête linq pour chaque intervalle mais j'essaie de l'écrire en une seule requête pour ne devoir accéder à la base de données qu'une seule fois.
Jusqu'à présent, j'ai :
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 // C'est la partie avec laquelle j'ai des difficultés
into g
orderby g.Key
select g.Average(a => a.Value))
).ToList();
Toute aide sur le regroupement par plages de temps sera la bienvenue.