Pyetësori i integruar në gjuhë programuese
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.
Dizajnues | Microsoft Corporation |
---|---|
Zhvillues | Microsoft Corporation |
Implementimet madhore | .NET gjuhët (C#, F#, VB.NET) |
Ndikuar nga | SQL, Haskell |
SO | Microsoft Windows |
Historia
RedaktoLINQ është lëshuar si një pjesë kryesore e .NET Framework 3.5 më 19 nëntor, 2007.
Arkitektura e LINQ në .NET Framework
RedaktoOperatorët standard për pyetësor (query)
RedaktoQuery 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- ^ "Standard Query Operators". Microsoft. Marrë më 2007-11-30.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!)