Veysel Uğur KIZMAZ

LINQ to SQL - ORDERBY

16.06.2012Okunma Sayısı: 8901Kategori: LINQ

 

Bu makalemizde SQL’deki ORDER BY komutunun LINQ’teki uygulanma yöntemlerini inceleyelicegiz.
 
Veritabani ve tablo yapisini bu linkten inceleyebilirsiniz.
 
Bu verileri id’sine göre küçükten büyüge siralamak için gerekli SQL kodu asagidaki gibidir.
 
 
SELECT * FROM kitapbilgisi ORDER BY id ASC
 
 
Bu verileri id’sine göre büyükten küçüge siralamak için SQL kodu ise asagidaki gibidir:
 
 
SELECT * FROM kitapbilgisi ORDER BY id DESC
 
 
Peki bu islemleri LINQ’te nasil yapacagimiza bakalim.
 
Öncelikle LINQ ile küçükten büyüge siralama islemini inceleyelim.
 
 
private void KucuktenBuyugeSirala()
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();
 
            var kitaplar = from kitap in dc.kitapbilgisis
                           orderby kitap.id ascending
                           select new { kitap.adi, kitap.id };
 
            foreach (var kitap in kitaplar)
                listBox1.Items.Add(kitap.id.ToString()+" - "+kitap.adi);
        }
 
 
orderby kitap.id ascending : Verilerimizi adi özelligine göre siralamamizi saglar. ascending komutunu yazmamis olsaydik da yine küçükten büyüge siralama yapacakti.
 
Simdi LINQ ile büyükten küçüge siralama islemini inceleyelim.
 
 
        private void BuyuktenKucugeSirala()
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();
 
            var kitaplar = from kitap in dc.kitapbilgisis
                           orderby kitap.id descending
                           select new { kitap.adi, kitap.id };
 
            foreach (var kitap in kitaplar)
                listBox2.Items.Add(kitap.id.ToString() + " - " + kitap.adi);
        }
 
 
orderby kitap.id descending : Verilerimizi adiözelligine göre siralamamizi saglar. descending komutunu siralamanin büyükten küçüge oldugunu belirtmektedir.
 
Uygulamamizi çalistirdigimizda ekran çiktisi asagidaki gibi olacaktir.
 
 
 
 
 
Veysel Ugur KIZMAZ