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