2010-12-02 7 views
2

Ich habe eine Methode, die ein Iqueryable -Objekt Get von einer LINQ-Abfrage erhalten Für dieses Objekt möchte ich eine LINQ-Klausel hinzufügen: .skip (20) Wie kann ich das tun meine Methode?Hinzufügen einer Linq-Klausel zu einem Iqueryable-Objekt

Dank durch Voraus

+0

mit Code. Was hast du probiert? Wie sieht deine Methode aus? –

Antwort

5

Sie können nicht „add“ eine Klausel zu einer bestehenden Abfrage, weil die Abfragen selbst unveränderlich sind - aber Sie können eine neue Abfrage erstellen, die die bestehende ist eine aber mit einer zusätzlichen Klausel:

IQueryable<Foo> newQuery = oldQuery.Skip(20); 
+0

es funktioniert, danke! – eka808

1
var query = FunctionThatReturnsIQueryable().Skip(20); 
1

Solange Sie nicht über die Abfrage aufgezählt haben, können Sie immer Klauseln hinzufügen. Die Klauseln werden nur ausgeführt, sobald Sie die Ergebnisse erhalten (z. B. mit for each).
Sie könnten etwas wie GetSomeIQueryable().Skip(20) tun. Dadurch erhalten Sie eine neue Abfrage, die Ihre Skip-Klausel enthält.

Verwandte Themen