LINQ er kjent som Language Integrated Query, og det presenteres i .NET 3.5 og Visual Studio 2008. Fordelen med LINQ er at den gir kapasitet til .NET-språk (som C#, VB.NET og så videre) for å opprette forespørsler til gjenopprette informasjon fra informasjonskilden. For eksempel kan et program hente data fra studiepostene eller komme til arbeiderposter og så videre. Tidligere år ble slik informasjon lagt bort i et annet datasett enn applikasjonen, og du ønsker virkelig å lære ulike typer spørsmålsspråk for å få tilgang til slike typer informasjon som SQL, XML og så videre. Og dessuten kan du ikke lage et spørsmål ved å bruke C#-språket eller et annet .NET-språk.
df loc
For å overvinne slike problemer opprettet Microsoft LINQ. Den kobler en kapasitet til til C#- eller .NET-dialektene for å lage et spørsmål for enhver LINQ-levedyktig informasjonskilde. Dessuten, det beste er at setningsstrukturen som brukes til å lage et spørsmål er lik, uavhengig av hvilken type informasjonskilde som brukes, betyr at grammatikken for å foreta en forespørsel om informasjon i et sosialt datasett er den samme som brukes til å lage spørsmålsinformasjon lagt bort i en klynge er det tvingende grunn til å bruke SQL eller en annen ikke-.NET-språkkomponent. Du kan også bruke LINQ med SQL, med XML-poster, med ADO.NET, med webadministrasjoner og med en annen informasjonsbase.
I C# er LINQ tilgjengelig i System. Linq navneområde. Det gir forskjellige typer klasser og teknikker som opprettholder LINQ-spørsmål. I dette navnerommet:
- Klassen Enumerable inneholder en standard spørringsoperator som fungerer på et objekt som kjører IEnumerable.
- Den spørrebare klassen inneholder standard forespørselsadministratorer som jobber med et objekt som kjører IQueryable.
For eksempel : SQL er et strukturert spørringsspråk som brukes til å lagre og gjenopprette data fra databasen. På samme måte er LINQ en organisert spørringssetningsstruktur. LINQ er den grunnleggende C#. Den brukes til å gjenopprette informasjon fra ulike typer kilder, for eksempel XML, dokumenter, samlinger, ADO.Net DataSet, Web Service, MS SQL Server og forskjellige databaseservere.
Bruk av LINQ
- Den primære årsaken bak å lage LINQ er, før C# 3.0, vi brukte for loop, for hver loop, eller delegater for å krysse en samling for å spore opp et bestemt objekt, men ulempen ved å involvere disse strategiene for å finne et objekt er at du virkelig ønsker å komponer en enorm mengde kode for å finne et objekt som er ekstra kjedelig og gjøre programmet mindre oversiktlig. Så for å bekjempe disse problemene, presenteres LINQ, som spiller ut lignende aktivitet i et par mengder linjer og gjør koden din tydelig; videre kan du involvere lignende kode i forskjellige prosjekter.
- Det gir i tillegg full sorteringskontroll på kompileringstidspunktet. Det hjelper oss med å skille feilen under kjøretiden, slik at vi utvilsomt kan eliminere dem.
- LINQ er at det er enkelt, veldig arrangert og et betydelig nivåspråk enn SQL
- Du kan også bruke LINQ med C#-array og samlinger. Den gir deg en annen veiledning for å ta vare på de gamle problemene på en kraftig måte.
- Med hjelp fra LINQ kan du utvilsomt jobbe med en datakilde som XML, SQL, Entities, objekter og så videre. En enkelt spørring kan fungere med databasen, overbevisende grunn trenger å lære ulike typer språk.
- LINQ opprettholder spørringsuttrykk, anonyme typer, implisitt innskrevne variabler, lambda-uttrykk, initialisering av objekter og samlinger og utvidelsesmetoder.
Vi kan bruke LINQ-spørringer på to måter
LINQ-søk Syntaksstrukturen består av søkeord som er karakterisert i .NET System-gjengivelse 3.5 eller høyere. Dette lar programvareingeniøren eller utviklerne komponere retningene veldig likt SQL-design i koden (C# eller VB.NET) uten bruk av rater. Det er på samme måte kjent i lys av at Spørsmålsartikulasjonsgrammatikken. I LINQ kan du komponere forespørselen til IEnumerable serier eller IQueryable informasjonskilder ved å bruke de påfølgende strategiene:
1. Spørringssyntaks:
LINQ-spørringsspråksyntaksen starter med fra nøkkelordet og avsluttes med nøkkelordet Velg eller GroupBy. Etter fra nøkkelordet kan du bruke ulike typer standard spørringsoperasjoner som gruppering, filtrering og så videre, som angitt av ditt behov. I LINQ er 50 unike typer standardspørsmålsadministratorer tilgjengelige.
Trinn for å skrive spørringssyntaksen:
Trinn 1: I det første trinnet må vi legge til System.Linq-navneområdet i koden.
i.e., using System.Linq;
Steg 2: I et andre trinn må vi lage datakilden som vi skal utføre operasjonene på
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Trinn-3: I det tredje trinnet må vi lage spørringen for datakilden ved å bruke et nøkkelord som velg, fra osv.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Her er r spørringsvariabelen som lagrer resultatet av spørringsartikulasjonen. Formklausulen brukes til å bestemme informasjonskilden, dvs. listen, der betingelsen gjelder for kanalen, dvs. l.Contains('Hii') og velg-setningen gir typen de brakte tingene tilbake. Videre er l rekkeviddevariabelen.
Trinn-4: Det siste trinnet er å utføre spørringen ved å bruke for hver løkke.
EX: foreach(var i in r) { Console.WriteLine(i); }
Eksempelprogram på spørringssyntaks:
// program to create LINQ query using Query Syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; // step-3: Creating the LINQ query for the data source using a keyword like select, from, etc. var r = from l in list where l.Contains(' JavaTpoint') select l; // In this will print only the sentence which contains JavaTpoint word // step-4: Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
Produksjon:
2. Metodesyntaks
I LINQ brukes Metodesyntaks til å kalle utvidelsesmetoden for de statiske klassene Enumerable eller Queryable. Det kalles også Method Extension Syntax eller Fluent. Til tross for dette endrer kompilatoren generelt søkesyntaksen i metodesyntaksstrukturen på kompileringstidspunktet. Den kan tilkalle standard spørringsoperatør som Where, Join, Max, Min, Avg, GroupBy Select, og så videre. Du har lov til å kalle dem enkelt uten å bruke Query-syntaks.
Trinn 1: I det første trinnet må vi legge til System.Linq-navneområdet i koden.
i.e., using System.Linq;
Steg 2: I et andre trinn må vi lage datakilden som vi skal utføre operasjonene på
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Trinn-3: Opprett nå spørringen ved å bruke metodene gitt av de statiske klassene Enumerable eller Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Her er r spørringsvariabelen som lagrer resultatet av spørringsartikulasjonen. Formklausulen brukes til å bestemme informasjonskilden, dvs. listen, der betingelsen gjelder for kanalen, dvs. l.Contains('Hii') og velg-setningen gir typen de brakte tingene tilbake. Videre er l rekkeviddevariabelen.
endre fil linux
Trinn-4: Det siste trinnet er å utføre spørringen ved å bruke for hver løkke.
EX: foreach(var i in r) { Console.WriteLine(i); }
Eksempelprogram på metodesyntaks:
// program to create LINQ query using Method syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; //step-3 creating the query using the methods provided by the Enumerable or Queryable static classes var r = list.Where(a=> a.Contains(' JavaTpoint ')); // In this will print only the sentence which contains JavaTpoint word // Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
Produksjon:
Fordeler med LINQ
- Klienten trenger ikke å lære nye spørringsspråk for en alternativ type dataformat eller datakilde.
- Det øker klarheten til koden.
- Spørringen kan gjenbrukes.
- Det gir typekontroll av objektet på monteringstidspunktet.
- Det gir IntelliSense til konvensjonelle samlinger.
- Det har en tendens til å bli brukt med samlinger eller matriser.
- LINQ opprettholder bestilling, gruppering, filtrering og sortering.
- Det gjør feilsøking enkelt siden det er koordinert med C#-språket.
- Det gir enkel endring som antyder at du uten tvil kan endre mer enn én datatype til en annen datatype som å endre SQL-data til XML-data.