Linq zu Entitäten Skip () und Take ()

8

Ich arbeite an einer ASP.NET-Anwendung und ich erstelle eine LINQ-Abfrage, die paginierte Datensätze aus db auswählen wird. Auf der Benutzeroberfläche habe ich eine Listbox, in der Benutzer mehrere Auswahlmöglichkeiten auswählen können. Ich möchte wissen:

  • Wie kann ich Skip (), Take () Parameter erhöhen, um die nächsten Ergebnisse anzuzeigen?

  • Wie kann ich ein "IN" -Schlüsselwort verwenden, so dass, wenn der Benutzer mehrere Optionen aus der Listbox auswählt, die Abfrage alle Werte überprüfen kann?

Meine Abfrage sieht so aus:

%Vor%     
DotnetSparrow 08.06.2012, 14:05
quelle

3 Antworten

20

Ich denke, Sie verwenden Skip falsch. Es sollte vor dem Take sein.

Skip überspringt eine Reihe von Datensätzen, also geben Sie für Ihre erste Seite 0 ein, ansonsten geben Sie die (Seitenzahl - 1) * Datensätze pro Seite ein.

Normalerweise mache ich so etwas:

%Vor%     
Neil N 08.06.2012 14:13
quelle
7

Sie müssen zunächst die GridView-Funktion einschalten. Dann auf PageIndexChanging event:

%Vor%

Um IN behavior zu emulieren:

%Vor%     
abatishchev 08.06.2012 14:09
quelle
1

Versuchen Sie Folgendes:

%Vor%     
Kapil Khandelwal 08.06.2012 14:17
quelle