Sql’de en çok kullanılan anahtar kelimelerden biri olan like işlemi ile belirttiğimiz alan içerisinde baştan, ortadan, sondan ara gibi belirtmelerde kayıtlara daha kolay ulaşabilmekteyiz bu makalemizde LINQ ile like işleminin nasıl yapıldığını göreceğiz.
LINQ ile like işlemi yapma
Sql’de en çok tercih edilen anahtar kelimelerden biri olan like’in linq ile nasıl yapıldığını görmeden önce sql’de bir like işlemine göz gezdirelim.
Örnek linq sql kodu
1 | SELECT * FROM MUSTERILER WHERE LIKE MUSTERIADI='Murat%' |
Yukarıdaki örnek sql kodumuzda ‘MUSTERILER’ tablomuzda ve ‘MUSTERIADI’ alanında ‘Murat’ ile başlayan tüm kayıtları getirecektir eğer ‘%Murat’ gibi bir yazım yapmış olsaydık ‘Murat’ ile biten kayıtları getirecekti bunları karıştırmayalım son olarak ‘%Murat%’ şeklinde yazmış olsaydık kayıt içinde ‘Murat’ adı geçiyorsa getirecektir örnek ‘Hasan Murat Talha’ şeklinde bir kullanım olduğunda son önemdiğimiz ‘%Murat%’ yazımı sonucunda ulaşabilirsiniz ancak bu kayda.
Şimdi ise linq işleminde nasıl yapılacağını görelim yukarıdaki like işleminin
Linq Kodu
1 2 3 4 | var Musteri = Veritabani.Musteriler .Where(p => p.MusteriAdi.Contains("Murat")) .Single() .MusteriAdi; |
Üstteki örneğimizdede göreceğiniz üzere Musteriler tablosunda MusteriAdi alaninda like işlemi için Contains Metodunu kullanmamız gerekmektedir şöyle bir soru kafanıza takılabilir Contains baştan-sondan veya kayıt içindemi arama yapıyor diye sorunun cevabı ise kayıt içerisinde arama yapmaktadır yani çıktı olarak üstteki ilk yazmış olduğumuz sql koduna benzer bir çıktı üretecektir.
select * from Products where ProductName like ‘%Ahmet%’ and ProductName in (select ProductName from ProductName like ‘%Deniz%’) bu sql linq karşılığını nasıl yazabiliriz ?
merhaba acaba access te datagridwiew den gelen verileri textboxta isme göre aramayı nasıl yapabiliriz linq like mateodu ile