Bu makalemizde SQL’deki ORDER BY komutunun LINQ’teki uygulanma yöntemlerini inceleyeliceğiz.
Veritabanı ve tablo yapısını bu linkten inceleyebilirsiniz.
Bu verileri id’sine göre küçükten büyüğe sıralamak için gerekli SQL kodu aşağıdaki gibidir.
SELECT * FROM kitapbilgisi ORDER BY id ASC
Bu verileri id’sine göre büyükten küçüğe sıralamak için SQL kodu ise aşağıdaki gibidir:
SELECT * FROM kitapbilgisi ORDER BY id DESC
Peki bu işlemleri LINQ’te nasıl yapacağımıza bakalım.
Öncelikle LINQ ile küçükten büyüğe sıralama işlemini 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 özelliğine göre sıralamamızı sağlar. ascending komutunu yazmamış olsaydık da yine küçükten büyüğe sıralama yapacaktı.
Şimdi LINQ ile büyükten küçüğe sıralama işlemini 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özelliğine göre sıralamamızı sağlar. descendingkomutunu sıralamanın büyükten küçüğe olduğunu belirtmektedir.
Uygulamamızı çalıştırdığımızda ekran çıktısı aşağıdaki gibi olacaktır.
linq-to-sql-orderby-1

linq-to-sql-orderby-1