1-) MSSQL RMOS - SQL de sayfalama sondan geriye vs Pagination in SQL Server
EN SADE VE ANLAŞILIR ÖRNEK : sıfır demek ilk sayfa 1 yazarsan 2 inci sayfa döner
select totalpage = COUNT(*) OVER()/500,* from firma with(nolock)
order by id OFFSET (0 * 500) ROWS FETCH NEXT 500 ROWS ONLY
-- baştan sayfalama için asc , sondan sayfalama için desc
declare @page int=0 -- page sayfa sayısı 0 ise 0-5 arasını getirir. 1 ise 6-10 arasını getirir
SELECT Rsat_Id,Rsat_Fiyat,Rsat_Tarih
FROM Cst_Recete_Satis
ORDER BY Rsat_Id asc
OFFSET @page*5 ROWS FETCH NEXT 5 ROWS ONLY
kaynak : https://www.sqlshack.com/pagination-in-sql-server/
TOTAL PAGE DÖNME (overall_count = COUNT(*) OVER())
SELECT Rsat_Id,Rsat_Fiyat,Rsat_Tarih,overall_count = COUNT(*) OVER()
-- Entity framework 7 ile
List<Customer> GetPageOfCustomers(string sortProperty, int page)
{
using var context = new CustomerContext();
return context.Customers
.OrderBy(e => EF.Property<object>(e, sortProperty))
.Skip(page * 20).Take(20).ToList();
}
kaynak : https://devblogs.microsoft.com/dotnet/announcing-ef7-preview7-entity-framework/