Git Product home page Git Product logo

queryfilter's Introduction

QueryFilter

QueryFilter, OData benzeri LINQ veya EntityFramework üzerinde çalışabilen sorgu kümelerine filtreleme veya gruplama işlemi yapabileceğiniz bir kütüphanedir.

Uzun zamandır kendi projelerimde kullandığım, TelerikMVCExtension kütüphanesinde yer alan ve üzerinde değişiklikler yaptığım bir projedir. Topluluğun desteği ile daha kullanım biçimine gelebilir.

Özellikler (v1.0.0)

  • IQueryable veya IEnumerable üzerinde filtreleme veya gruplama yapabilirsiniz
  • Desteklenen Operatörler
    • in
    • equal
    • not equal
    • less
    • less or equal
    • greater
    • greater or equal
    • starts with
    • ends with
    • contains

Başlayalım

ClientSide veya WebApi tarafından gelen QueryFilter söz dizimleri aşağıdaki parametler ile gönderilmelidir. Birden fazla ifade kullanımı için & karakterini kullanabilirsiniz.

data:

var studentList =  new List<StudentModel> {
        new StudentModel { Name="Nancy",LastName="Fuller",Age=35 },
        new StudentModel { Name="Andrew",LastName="Leverling",Age=33 },
        new StudentModel { Name="Janet",LastName="Peacock",Age=32 }
};

$filter

    
     var queryFilterModel = QueryFilterModel.Parse("$filter=Name~eq~'Nancy'");
     var result = studentModels.QueryFilter(queryFilterModel);

   //Nancy Fuller         

$top

Bir sıranın başından itibaren belirtilen sayıda bitişik öğeyi döndürür.

    
     var queryFilterModel = QueryFilterModel.Parse("$filter=Age~gt~20&$top=1");
     var result = studentModels.QueryFilter(queryFilterModel);

   //Nancy Fuller         

$skip

Bir dizide belirtilen sayıda öğeyi atlar ve ardından kalan öğeleri döndürür.

    
     var queryFilterModel = QueryFilterModel.Parse("$filter=Age~gt~20&$top=1&$skip=1");
     var result = studentModels.QueryFilter(queryFilterModel);

   //Andrew Leverling         

Kullanabileceğiniz Operatörler

$filter söz dizimi içinde aşağıdaki ifade ve operatörleri kullanabilirsiniz. Söz dizimi içinde ayraç olarak ~ karakteri kullanılmıştır. 2 veya daha fazla koşulu oluşturmak için yine ayraç ~ karakterini kullacağız. $filter=Age~eq~0~and~Name~eq~'Nancy'

Karşılaştırma ve Fonksiyon

Operatör Karşılığı Açıklama
equal eq eşit
not equal ne eşit değil
less lt küçük
less or equal le küçük ve eşit
greater ge büyük
greater or equal gt büyük ve eşit
ends with endswith ile biten
starts with startswith ile başlayan
contains contains içeren

Mantıksal

Operatör Karşılığı Açıklama
and and
or or

İfade

Operatör Karşılığı Açıklama
true true
false false

Kullanım Biçimleri

Contributions

queryfilter's People

Contributors

dependabot[bot] avatar firatoltulu avatar yukseldemirtas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

yukseldemirtas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.