Se non si dispone di SQL Server 2012 o avete altri DBMS, un modo per farlo è quello di dividere il paging trattamento tra i DBMS e il web server o client. --- questo è consigliato solo per piccole dimensioni del set. È possibile utilizzare la parola chiave "TOP" in Sql Server o LIMIT in MySql o ROWNUM in Oracle per ottenere il numero massimo di righe nel set di dati. Il numero di righe che si Fetch è uguale al numero che si desidera passare più il numero che si desidera prendere:
top = skip + take;
per esempio, si potrebbe desiderare di saltare 100 righe e prendere il successivo 50:
top = 100 + 50
Quindi l'istruzione SQL sarebbe simile a questa (sapore del server SQL)
SELECT TOP 150 Name, Modified, content, Created
FROM Posts
WHERE Created >= '1900-01-01'
sul client: se si utilizza un linguaggio .NET, come C# e utilizzando D Apper, è possibile utilizzare LINQ per saltare un numero di righe e di prendere un certo numero di righe in questo modo:
var posts = connection.Query<Post>(sqlStatement, dynamicParameters);
return posts?.ToList().Skip(skipValue).Take(takeValue);
Da quando hai appena scoperto Dapper ... Spero che tu abbia anche sentito parlare di [PetaPoco] (https://github.com/toptensoftware/PetaPoco) (con supporto di paging incorporato) e [Massive] (https://github.com/robconery/massive) ... Solo FYI quindi scegli quello più adatto a te ... Sono tutti estremamente veloci e molto simili, ma ancora diversi. –
vedere: http://samsaffron.com/archive/2011/09/05/Digging+ourselves+out+of+the+mess+Linq-2-SQL+created –