Sorgu Yardım(Lambda)
-
Hocalar selam, cümle içinde bir kelime aramak istiyorum con
string txt = "car";
var model = db.Kelimes.Where(x => x.KelimeAdi.Contains(txt) ).ToList();
burada çıkan sonuçlar içersinde card, carry gibi olan cümlelerde çıkıyor. Sadece "car" geçenleri nasıl çekeriz?
Teşekkürler
-
Nasıl yanı hocam sadece car gecenleri derken örneklendirir misin?
-
car
cardanadam
carlik
diye üç kelime var ise sadece ilkini istiyor diğer leri car içersede istemiyor.
-
Hannibal_King bunu yazdı
Nasıl yanı hocam sadece car gecenleri derken örneklendirir misin?
parametre olarak "car" geldiği zaman şu cümlede çıkıyor mesela
"Discard your changes from the Resolve menu by following these steps:"
"That car is his." sadece bunun çıkması lazım.
-
o zaman .Where(x => x.KelimeAdi == txt).select(x=> x.KelimeAdi).firstordefault();
Falan dersen ya null cekersin yada o kelime varsa onu çekersin.
-
başa ve sona bosluk koy hocam oyle ara. Yani kodun aynı olsun ama string txt = " car "; şeklinde yap.
Edit : Bu seferde aranan kelime eger kelime cümlenin başındaysa yada sonundaysa sıkıntı olur çünkü başa ve sona boşluk koyuyoruz.Güzel bi algoritma düşünmek lazım.
Hannibal_King tarafından 18/Tem/16 13:21 tarihinde düzenlenmiştir -
-
Hannibal_King bunu yazdı
başa ve sona bosluk koy hocam oyle ara. Yani kodun aynı olsun ama string txt = " car "; şeklinde yap.
Edit : Bu seferde aranan kelime eger kelime cümlenin başındaysa yada sonundaysa sıkıntı olur çünkü başa ve sona boşluk koyuyoruz.Güzel bi algoritma düşünmek lazım.
tam sağlıklı sonuç vermiyor bu hocam. boşluk da bir karakter olduğu için mesela cümle sonunda nokta varsa çalışmıyor. "bla bla bla car." gibi.
Arka tarafta sql adi like '%car%' gibi bişey çalışıyor. Sadece cümlenin içinde ki kelime bazlı arama yaptırmak istiyorum ben
-
Hannibal_King bunu yazdı
o zaman .Where(x => x.KelimeAdi == txt).select(x=> x.KelimeAdi).firstordefault();
Falan dersen ya null cekersin yada o kelime varsa onu çekersin.
x.KelimeAdi.Equals(txt) diyede baktırabilirsin hocam.
-
var model = db.Kelimes.Where(x => x.KelimeAdi.Equals(txt) ).ToList();
hangi dil bilmiyorum ama bence boyle denemelisin
-
eğer db'den direk kelime bazlı geliyorsa equals'le alabilirsin.
Cümle geliyor sen cümle içinden kelime ayırmak istiyorsan ;
1- boşlukları split edip ettigin dizi içerisinde de contains veya equal ile bakabilirsin.
2- regex kullanabilirsin.