Jump to content

Pyetësori i integruar në gjuhë programuese

Nga Wikipedia, enciklopedia e lirë
Language Integrated Query
DizajnuesMicrosoft Corporation
ZhvilluesMicrosoft Corporation
Implementimet madhore.NET gjuhët (C#, F#, VB.NET)
Ndikuar ngaSQL, Haskell
SOMicrosoft Windows

LINQ është akronim për Language Integrated Query (Pyetësori i integruar në gjuhë programuese), që është komponent i Microsoft .NET Framework-ut . Pjesa e integrimit në gjuhë do të thotë se LINQ është pjesë e sintaksës së gjuhëve programuese. Më saktësisht, të dyja C# dhe VB (Visual Basic) janë gjuhë që vijnë me .NET platformën dhe kanë kapacitete për LINQ. Një gjuhë tjetër që e përkrah LINQ është Delphi Prism. LINQ përdoret për kërkim/analizim të shumë llojeve të të dhënave duke përfshirë databazat relacionale, XML, madje edhe objektet. Pra LINQ e zgjeron gjuhën me shtimin e shprehjeve të pyetësorve që janë shumë të ngjajshme me komandat në SQL, dhe mund të përdoren për të përshtatur, ekstraktuar dhe procesuar të dhëna nga vargjet, klasat, enum, etj.

LINQ është lëshuar si një pjesë kryesore e .NET Framework 3.5 më 19 nëntor, 2007.

Arkitektura e LINQ në .NET Framework

[Redakto | Redakto nëpërmjet kodit]

Operatorët standard për pyetësor (query)

[Redakto | Redakto nëpërmjet kodit]

Query operatorët standard janë një API (Application Programming Interface) që mundëson analizimin/kontrollimin e cilit do .NET vargu apo koleksioni. Operatorët standard për analizim/kërkim (query) në API përbëhen nga metoda të deklaruara në klasën statike System.Query.Sequence. Operatorët standard për analizim/kërkim janë metodat në modelin e Language Integrated Query (LINQ). Operatorët e përkrahur nga API janë:[1]

Select

Operatori Select bën projeksionin e koleksionit për të zgjedhur vetitë e dëshiruara të elementeve.

Where

Operatori Where lejon definimin e një koleksioni të ri në bazë të një sërë regullash të predikateve të cilat vlejnë për objektet në koleksion, derisa objektet që nuk i përgjigjen atyre regullave filtrohen.

SelectMany

SelectMany mundëson selektimin e elementeve në koleksione brenda koleksioneve, duke e thjeshtuar strukturën mbajtëse.

Sum / Min / Max / Average

Këta operator përdorin funksione që kthejnë vlerë të caktuar numerike prej çdo elementi në koleksion dhe mund të i përdor ata për të gjetur shumën, minimumin, maksimumin apo vlerën mesatare të të gjith elementeve në koleksion.

Aggregate

Funskionet e gjeneralizuara si Shuma/Minimumi/Maksimumi. Ky operator merr një funksion që specifikon se si dy vlera kombinohen për të krijuar një rezultat. Vlera fillestare mund të theksohet duke lejuar që rezultati i agregimit të jetë arbitrar.

Join / GroupJoin

Operatori Join bën bashkimin e brendshëm e dy koleksioneve në baze të përputhjes së çelësave për secilin objekt në koleksion. GroupJoin lejon bashkimin e shumë anëtarëve në bazë të një çelësi nga koleksioni i parë.

Take / TakeWhile

Operatori Take selekton N objektet e para nga koleksioni, ndërsa operatori TakeWhile merr objekte përderisa predikati i cekur është i saktë.

Skip / SkipWhile

Operatoret Skip dhe SkipWhile janë e kundërta e Take dhe TakeWhile, këto i kalojnë N objektet e para të koleksionit apo ato përderisa predikati gjegjës vlen.

OfType

Ky operator përdoret për të selektuar elementet e tipit të kërkuar.

Concat

Operatori Concat i bashkon dy koleksione.

OrderBy / ThenBy

Operatori OrderBy përdoret për të specifikuar sortimin e elementeve në koleksion në baze të disa çelësave. Rradhitja e nenkuptuar është nga lart posht, forma e kundërt është operatori OrderByDescending. ThenBy operatori specifikon sortimin e ardhshëm të elementeve.

Reverse

Operatori Reverse e kthen mbrapsht koleksionin.

GroupBy

Operatori GrouBy është funksion që lidh koleksione elementesh me çelësa të përbashkët.

Distinct

Operatori Distinct merr elementet e njejta vetëm nga një herë.

Union / Intersect / Except

Këta operator përdoren për të bërë unionin, prerjen dhe diferencën e dy koleksioneve.

SequenceEqual

Ky operator vendos nëse dy koleksione kane anëtar dhe radhitje të njejt.

First / FirstOrDefault / Last / LastOrDefault

Këta operator marrin predikate për të funksionuar. Operatori First kthen elementin e parë për të cilin predikati shënon true, apo nëse asnjë element nuk i përgjigjet predikatit hedh gabim (exception). Operatori FirstOrDefault është i ngjashëm me operatorin First vetëm se kthen vlerën e nënkuptuar të tipit (zakonisht referenca null) në rast se predikatit nuk i përshtatet asnje element. Operatori Last, kthen elementin e fundit që i përgjigjet predikatit nga koleksioni dhe LastOrDefault kthen vlerën e nënkuptuar nëse asnjë element nuk i përshtatet kërkesës.

Single

Operatori Single pranon një predikat dhe kthen elementet që i përshtaten kërkesës së atij predikati. Në rast se asnjë ose më shumë elemente i përgjigjen atëherë hedhet një gabim (exception).

SingleOrDefault

Kryen veprimin e njejtë sikur Single, përveq që kthen vlerën e nënkuptuar nëse asnjë element nuk i përgjigjet predikatit.

ElementAt

Operatori ElementAt kthen elementin në indeksin e dhënë.

Any / All / Contains

Operatori Any shqyrton nëse ka elemente në koleksion që i përgjigjen predikatit të shenuar. Ky nuk e selekton elementin por kthen True nesë së paku një element i përgjigjet predikatit. Operatori All kthen True në rast se të gjitha elementet i përgjigjen predikatit. Operatori. Contains shqyrton nëse koleksioni e përmban një element të dhënë.

Count

Operatori Count kthen numrin e elementeve të dhëna në koleksion.

  1. ^ "Standard Query Operators". Microsoft. Marrë më 2007-11-30. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)