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);
}
}
[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);
}
}
Yorumlar (0)
Henüz yorum yok. İlk yorumu sen yap!