2016-06-21 7 views
0

Ich habe eine Tabelle mit 100 + Zeilen, ich möchte Zeile Nummer 10 bis 20 mit Entity Frame arbeiten, aber ich kann nicht verstehen, wie man das schreiben CodeWie kann Zeile Nummer 10 bis 20 über 100 + Zeilen mit Entity Framework

mein Code

db.Products.Where(p => p.Name == "product").Take(10, 20).ToList()); 

aber es Fehler zeigt

+1

Zeigen Sie uns den Fehler. – jarlh

+1

Sie waren in der Nähe: db.Products.Where (p => p.Name == "Produkt"). Skip (10) .Take (10) .ToList()); –

+2

Haben Sie 'db.Products.Where versucht (p => p.Name ==" product "). Skip (10) .Take (10) .ToList();'? –

Antwort

5

Verwenden .Skip() und Take()

db.Products.Where(p => p.Name == "product").Skip(10).Take(10).ToList(); 

^Auch der Fehler ist Extra ) am Ende.

Note * (Vorgeschlagen von Tim Schmelter & MatBailie): Bestellen Sie Ihre resultset bevor die Zeilen Paging willkürlich und unvorhersehbar Ausgang zu vermeiden.

+1

So wie ich das auch in den Kommentaren gepostet habe! Spot auf. –

+0

@GeoffJames, rechts. Aber das eigentliche Problem - der Fehler, wie von OP erklärt, ist extra ')' am Ende. :) –

+0

Dank @Shaunak, gerade entdeckt, dass - Kopieren/Einfügen schnell ist eine gefährliche Sache zu Zeiten! –

0

können Sie die Methode überspringen verwenden:

db.Products.Where(p => p.Name == "product").Skip(10).Take(10).ToList(); 
0

Die Antwort ist einfach:

db.Products.Where(p => p.Name == "product").Skip(10).Take(10).ToList(); 
+0

orderBy ist der Code wird 'db.Products.Where (p => p.Name ==" Produkt "). OrderBy (x => x.Name) .Skip (10) .Take (10) .ToList (); ' –

Verwandte Themen