Hva er et språk integrert spørring?

Language Integrated Query (LINQ) gir muligheten til å sømløst integrere deklarativ spørringssyntaks i imperative språk, først og fremst C# og VB.NET. Utviklingen av LINQ løste problemene utviklerne som arbeider i objektorienterte miljøer, møtte når de utførte spørsmål. Det ble introdusert som en del av Microsoft® .NET Framework versjon 3.5 i november 2007, og i Visual Studio® kodenavn "Orcas."

Før oppretting av språkintegrert spørring hadde .NET -språk ingen naturlig måte å spørre relasjonsdatabaser eller XML -dokumenter. Utviklere som skrev på disse språkene måtte legge inn henholdsvis SQL eller XQuery som strenger, og manuelt kartlegge resulterende data til .NET -objekter. Innbygde spørringsstrenger og kartlegginger kunne ikke valideres av .NET-kompilatorer, slik at potensielle feil kunne oppdages ved kjøretid.

Et annet problem utviklere som ble møtt før språk integrert spørring var at .NET-språk bare hadde objektivert orientert syntaks til spørreskjemaer av .Net OBjekter. Vanligvis vil utvikleren iterere over en hel kildesamling og bygge nye resultatsamlinger basert på søkekriterier. Utvikleren kan også transformere dataene mens de bygger resultatsamlingene. Denne tilnærmingen var tungvint; En enkel valgt spørring skrevet i C# eller VB vil kreve minst fem kodelinjer, mens den samme spørringen vil kreve en kodelinje på et spørringsspråk.

Utfordringene med å spørre i et objektorientert miljø ga Microsoft drivkraften til å lage LINQ. LINQ gir en spørringssyntaks som minner om SQL som skal brukes på linje med C# eller VB, komplett med statisk type sjekking. Når du spør. NET -samlinger, i stedet for å bruke nestede løkker, kan utviklere bruke LINQ -syntaks for å velge elementer og transformere data. Blant andre fordeler resulterer dette i færre kodelinjer sammenlignet med rent objektorientert syntaks.

Når du får tilgang til ekstern DATA -kilder, LINQ og støttende komponenter fjerner behovet for innebygde spørringsspråk og datakartlegging innen et .NET -språk i seg selv. For å utføre datakartlegging, avhenger LINQ av komponenter kalt LINQ -leverandører. LINQ-to-Objects er akseleverandøren som gjør det mulig for LINQ å få tilgang til .NET-samlinger. Tilsvarende er det leverandører som får tilgang til relasjonsdatabaser og XML -dokumenter. De fleste av disse leverandørene er tredjepartskomponenter som ikke er inkludert i .NET-rammen. Uansett leverandør som brukes, bruker alle spørsmål den samme LINQ -syntaks.

Mellom det språket integrerte spørringssyntaks og leverandørene er et bibliotek med spørringsoperatører lagt til .NET -rammen som en del av LINQ -fasilitetene. Disse operatørene utfører slike oppgaver som filtrering, bestilling, setter teorioperasjoner og aggregering. Siden disse operatørene er en del av .NET -rammeverket, kan de også brukes uten LINQ hvis utvikleren velger det.

ANDRE SPRÅK