LINQ to Objects Paginierung
Verwenden Sie eine LINQ-Abfrage, um Paging zu implementieren. Verwenden Sie einfach die Erweiterungsmethoden Skip
und Take
, um es einfach abzuschließen. Die Lösung wird im Folgenden im Detail vorgestellt:
Verwenden Sie Skip and Take, um Paging zu implementieren
Die MethodeSkip
überspringt die ersten N Elemente im Ergebnissatz und gibt die restlichen Elemente zurück. Die Take
-Methode gibt die ersten N Elemente im Ergebnissatz zurück und verwirft die restlichen Elemente.
Um die TOP
-Funktion von SQL zu emulieren, können Sie die Methoden Skip
und Take
wie folgt anwenden:
pageSize = 10
). pageNumber = 3
). offset = pageSize * (pageNumber - 1)
. Skip
an, um die ersten offset
-Elemente in den Abfrageergebnissen zu überspringen. Take
-Methode an, um die nächsten pageSize
-Elemente abzurufen. Codebeispiel
Angenommen, Ihre LINQ-Abfrage queryResult
ruft eine Liste von Objekten ab, können Sie die Paginierung wie folgt implementieren:
<code class="language-csharp">int pageSize = 10; int pageNumber = 3; var queryResultPage = queryResult .Skip(pageSize * (pageNumber - 1)) .Take(pageSize);</code>
In diesem Beispiel beginnt pageNumber
bei 1 und stellt die anzuzeigende Seitenzahl dar. Wenn Ihr pageNumber
bei 0 beginnt, müssen Sie die Formel entsprechend anpassen: offset = pageSize * pageNumber
.
Weitere Ressourcen
Weitere Informationen zu den Methoden Skip
und Take
finden Sie in der Dokumentation von Microsoft:
Das obige ist der detaillierte Inhalt vonWie kann ich Paginierung in LINQ to Objects mithilfe von Skip and Take implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!