Merhaba arkadaşlar,
Blogum da Linq konularına elimden geldiği kadar sık değinmeye çalışıyorum. Çünkü Linq sorguları istediğim işi hem kolay hem de hızlı yapmamı sağladığı için fazlasıyla seviyorum. Bu yazımda da sıkça kullanılan birkaç Linq Sorgusundan bahsedeceğim. Bunlar Linq ile Select , Where , OrderBuy, Sum , Count , Distinct sorguları.
Linq ile Select Kullanımı
Linq ile veri çekmek için Select sorgusunu isteğimize göre farklı şekillerde kullanabiliriz. Mesela Öğrenciler tablosunun tüm kayıtlarını tüm kolonlarla birlikte çekmek istersek;
1 2 3 4 |
var ogrenciler = from x in Data.Ogrencilertbls select x; |
Veya sadece istediğimiz kolonları çekmek için aşağıdaki gibi kullanabiliriz;
1 2 3 4 5 6 7 8 9 |
var ogrenciler = from x in Data.Ogrencilertbls select { x.Adi, x.Soyadi, x.Yas, x.Sinif, }; |
Linq Where Kullanımı
Yukarıdaki öğrenciler tablosu örneğinden devam edelim. Where komutunun kısıt vermek için kullanıldığını biliyorsunuzdur. Linq ile where kullanımına gelecek olursak; örneğin sadece A sınıfında olan öğrencileri çekmek istiyorsak sorgumuz aşağıdaki gibi olur.
1 2 3 4 5 |
var ogrenciler = from x in Data.Ogrencilertbls where x.Sinif=="A" select x; |
veya A sınıfında olan ve yaşı 25 den büyük olanları çekmek istersek;
1 2 3 4 5 |
var ogrenciler = from x in Data.Ogrencilertbls where x.Sinif=="A" && x.Yas > 25 select x; |
Linq Order By Kullanımı
Order By ın sıralama yapmak için kullanılır peki Linq ile küçükten büyüğe sıralama yapmak için nasıl kullanılır? Yukarıda ki öğrenciler tablosunu çekerken yaşa göre küçükten büyüğe sıralı çekmek istediğimizi varsayalım.
1 2 3 4 5 |
var ogrenciler = from x in Data.Ogrencilertbls orderby x.Yas select x; |
Order By yalnız yazıldığında da sonuna ascending yazıldığında da aynı sonucu verir. Yalnız yazıldığında varsayılan olarak ascending işlemi yapar. Büyükten küçüğe sıralamak istersek ise sıralama satırının sonuna descending eklememiz yeterli olur.
1 2 3 4 5 |
var ogrenciler = from x in Data.Ogrencilertbls orderby x.Yas ascending select x; |
Linq Sum Kullanımı
Sum() fonksiyonunu veri çekerken birşeylerin toplamını getirmek için kullanırız. Paki Linq ile Sum() fonsiyonu nasıl kullanılır? Yukarıdaki örnekten devam edersek tüm öğrencileri çekip tek tek yaşlarını toplamak yerine Sum fonksiyonunu kullanarak sorgu ile yaşları toplamını elde edebiliriz. Kullanımı aşağıdaki gibidir.
1 2 3 |
int yastoplami= Data.Ogrencilertbls.Sum(x => x.Yas); |
** Where komutu ile birlikte koşullu sorgu yazarken kullanabilriz.
1 2 3 4 |
//A sınıfında olanların yaşları toplamı int yastoplami= Data.Ogrencilertbls.Where(x=>x.Sinif=="A").Sum(x => x.Yas); |
Linq Count Kullanımı
Count() fonksiyonu belirtilen alandaki veya tablodaki toplam kayıt sayısını verir. Linq ile Count() fonsiyonu nasıl kullanılır? Öğrenciler tablosunda kaç kayıt olduğunu bulmak için aşağıdaki sorguyu kullanırız.
1 2 3 |
var ogrsayisi= Data.Ogrencilertbls.Count(); |
** Where komutu ile birlikte koşullu sorgu yazarken kullanabiliriz.
1 2 3 4 |
//B Sınıfında olan öğrencilerin sayısı var ogrsayisi= Data.Ogrencilertbls.Where(x=>x.Sınıf=="B").Count(); |
Bu yazımda size Linq da bazı fonksiyonların kullanımlarından bahsettim umarım faydalı olur. Soru ve görüşleriniz için yorum yapabilirsiniz. Kolay gelsin 🙂
Merhaba; http://localhost:63878/Home/Urun/2 url nin id 2 nin veritabında KategoriID si var
ben şunu demek istiyorum url den gelen id nin KategoriID sine eşitle
db.Urun.Include(“UrunKategori”).Where(x => x.KategoriID == id (Burada KategoriID yi bulmam gerek) ) şurda
Ne sormak istediğinizi tam anlayamadım ?
Yalın güzel anlatim olmuş teşekkürler.