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. descending komutunu 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.