Bilmek istediğin her şeye ulaş

C# Predicate Builder nedir?

Predicate Builder (albahari.com/nutshell/predicatebuilder.a...) LINQ ile kompleks sorgular gerçekleştirebilmenize olanak tanıyan bir araçtır. Örnek olarak, bir "Search (Arama)" sayfası düşünün ve bu sayfada 20 tane farklı arama kriteri seçebildiğinizi tasarlayın.

Mesela; yaş 15-27, ülke "İngiltere", eğitim durumu "Lise" veya "Üniversite"....gibi arama kriterleri seçilebiliyor. Bu durumda, normalde tüm 20 kriter içinden sadece seçimi yapılmış kriterlere uygun veritabanı sorgusunu LINQ ile yapabilmeniz için çok ciddi bir çaba sarfetmeniz gerekir. PredicateBuilder ile ise bu çok kolay gerçekleşiyor.

Basit bir PredicateBuilder kullanımı örneği:

var predicate = PredicateBuilder.False<Product>();
foreach(string keyword in keywords)
{
string temp = keyword;
predicate = predicate.Or(p => p.Description.Contains(temp));
}
  • Paylaş
2

Eski Inploider, Peki şu mümkün mü ? Ben emlak sistemleri geliştirdiğim için ilan sitelerinde ilanın ili, ilçesi, fiyatı, ve pek çok seçilen parametre var. Bunlar için Linq kodu gerçekten çok uzun oluyor. Bu sorguyu kısaltıyor mu ? Heyecan yaptım

Hakan Köse, Aynen kısaltabilirsin.. Yani

if(ilanno != null) predicate = predicate.And(x=> x.ilanno == ilanno);

şeklinde yazarsan otomatik olarak ilanno'yu da AND clause olarak ekler. Eğer prredicate.OR kullanırsan, OR clause olarak ekler.. Bunlar seçilmemiş ise sorguda yer almazlar..

Sonraki Soru
HESAP OLUŞTUR

İstatistikler

928 Görüntülenme4 Takipçi1 Yanıt

Konu Başlıkları