Sem Göksu
Sem Göksu
Yazılım · Yolculuk · Fenerbahçe
Yazılım

LinqToSQL ile Sayfalama (Paging) İşlemi

09 Kasım 2009 1 dk okuma 2616 0
SQL Server 2005 ile birlikte gelen row_number() fonksiyonunu kullanarak bir kayıt numarası oluşturuyor ve bu kayıt numarasını kullanarak verileri istediğimiz sayıda çekebiliyorduk. LinqToSQL ile de bu işlemi yapabiliyoruz. Aşağıdaki örnek City Tablosundan kayıtların onar onar alınmasını sağlıyor.

[C#]

class Program
{
    static void Main(string[] args)
    {
        int CityCount = 0; 
        IEnumerable<City> Cities = GetCities(0, 10, ref CityCount); // İlk 10 kaydı çekeceğiz. ilk parametre sayfa indexini ikinci parametre ise bir sayfada kaç kayıt gösterileceğini belirtiyor.
        Console.WriteLine("Toplam Şehir Sayısı:{0}", CityCount); 
        Console.WriteLine("-----------------------------");
        foreach (City city in Cities)
        {
            Console.WriteLine(city.CityName);
        }
    }

    private static IEnumerable<City> GetCities(int startingPageIndex, int PageSize, ref int CityCount)
    {
        DataClasses1DataContext db = new DataClasses1DataContext();
        CityCount = db.Cities.Count();// Toplam kayıt sayısını set edelim.
        return db.Cities.Skip<City>(PageSize * startingPageIndex).Take<City>(PageSize); 
    }
}

Paylaş:

Yorumlar (0)

Henüz yorum yok. İlk yorumu sen yap!

Yorum bırak

* Yorumlar moderasyon sonrası yayınlanır. E-posta gizli tutulur.