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.

Historia[Redakto | Redakto nëpërmjet kodit]

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.

Referime[Redakto | Redakto nëpërmjet kodit]

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