Wenn Sie nicht SQL Server 2012 haben, oder Sie haben andere DBMS, eine Möglichkeit, Paging zu tun ist, um die Verarbeitung zwischen der DBMS und dem Web-Server oder Client zu teilen. --- Dies ist nur für kleine Größe empfohlen. Sie können das Schlüsselwort 'TOP' in Sql Server oder LIMIT in MySql oder ROWNUM in Oracle verwenden, um die oberste Anzahl von Zeilen im Datensatz zu ermitteln. Die Anzahl der Zeilen, die Sie holen würde, ist gleich der Zahl, die Sie überspringen würde, plus die Anzahl, die Sie treffen würde:
top = skip + take;
zum Beispiel, würden Sie wollen, 100 Zeilen überspringen und die nächste 50:
top = 100 + 50
So SQL-Anweisung wie dieser (SQL Server Geschmack) aussehen würde
SELECT TOP 150 Name, Modified, content, Created
FROM Posts
WHERE Created >= '1900-01-01'
auf dem Client: , wenn Sie eine .NET-Sprache wie C# und unter Verwendung von D verwenden apper, können Sie Linq verwenden, um eine Anzahl von Zeilen zu überspringen und eine Anzahl von Zeilen wie so nehmen:
var posts = connection.Query<Post>(sqlStatement, dynamicParameters);
return posts?.ToList().Skip(skipValue).Take(takeValue);
Da Sie gerade von Dapper erfahren haben ... Ich hoffe, Sie haben auch von [PetaPoco] (https://github.com/toptensoftware/PetaPoco) (mit integrierter Paging-Unterstützung) und [Massive] (https://github.com/robconery/massive) ... Nur FYI so wählen Sie die, die Ihnen am besten passt ... Sie sind alle extrem schnell und sehr ähnlich, aber immer noch anders. –
siehe: http://samsaffron.com/archive/2011/09/05/Das+Siedelndes+Mess+der+Mess+Linq-2-SQL+erzeugt –