J'ai une table de base de données avec des lignes qui contiennent chacune un index séquentiel. Je veux sélectionner des groupes de rangées consécutives en fonction de cette colonne d'index. Par exemple, si j'avais des lignes avec les valeurs d'index suivantes:Sélection des entrées consécutives avec LINQ aux entités
1
3
4
5
7
9
10
11
12
15
16
et je voulais sélectionner tous les groupes avec 3 indices consécutifs (ce nombre varie). Je recevrais les groupes suivants:
3, 4, 5
9, 10, 11
10, 11, 12
Fondamentalement, je suis en train de réaliser quelque chose de similaire à la question posée ici:
selecting consecutive numbers using SQL query
Cependant, je veux mettre en œuvre ce avec LINQ to Entities , pas de SQL réel. Je préférerais également ne pas utiliser de procédures stockées, et je ne veux pas faire d'approche ToList/looping.
Éditer: Les groupes avec plus que les éléments consécutifs demandés n'ont pas nécessairement besoin d'être séparés. c'est-à-dire dans l'exemple précédent, un résultat de 9, 10, 11, 12 serait également acceptable.
Merci pour la réponse. Cependant, cela semble ne fonctionner que pour 3 lignes. J'ai besoin du nombre pour varier; Je pourrais avoir besoin de deux rangées consécutives, ou j'en aurais besoin de 20. Y a-t-il un moyen d'y parvenir? – knoia