LINQ este cunoscut ca Language Integrated Query și este prezentat în .NET 3.5 și Visual Studio 2008. Excelența LINQ este că oferă limbajelor .NET (cum ar fi C#, VB.NET și așa mai departe) capacitatea de a crea interogări pentru recuperați informații din sursa de informații. De exemplu, un program poate obține date din înregistrările studentului sau poate ajunge la înregistrările lucrătorilor și așa mai departe. În anii precedenți, astfel de informații sunt păstrate într-un set de date diferit de aplicație și chiar doriți să învățați diferite tipuri de limbaj de întrebări pentru a accesa astfel de informații precum SQL, XML și așa mai departe. Și, în plus, nu puteți face o întrebare utilizând limbajul C# sau un alt limbaj .NET.
elementele de bază ale seleniului
Pentru a depăși astfel de probleme, Microsoft a creat LINQ. Conectează încă o capacitate la dialectele C# sau .NET pentru a crea o întrebare pentru orice sursă de informații viabilă LINQ. În plus, cea mai bună parte este că structura propoziției folosită pentru a face o întrebare este similară, indiferent de tipul de sursă de informații utilizată, înseamnă că gramatica de a face o interogare despre informații dintr-un set de date sociale este aceeași cu cea folosită pentru a face informații despre întrebare. pus într-un cluster, există un motiv convingător pentru a utiliza SQL sau o altă componentă a limbajului non-.NET. De asemenea, puteți utiliza LINQ cu SQL, cu înregistrări XML, cu ADO.NET, cu administrații web și cu alte baze de informații.
În C#, LINQ este disponibil în System. Spațiul de nume Linq. Oferă diferite tipuri de clase și tehnici care susțin întrebările LINQ. În acest spațiu de nume:
- Clasa Enumerable deține un operator de interogare standard care funcționează pe un obiect care execută IEnumerable.
- Clasa interogabilă deține administratori de interogare standard care lucrează la un obiect care execută IQueryable.
De exemplu : SQL este un limbaj de interogare structurat care este folosit pentru a salva și recupera date din baza de date. De asemenea, LINQ este o structură de propoziție de interogare organizată. LINQ este C# de bază. Este utilizat pentru a recupera informații din diferite tipuri de surse, de exemplu, XML, documente, colecții, ADO.Net DataSet, Web Service, MS SQL Server și diferite servere de baze de date.
Utilizări ale LINQ
- Motivul principal din spatele realizării LINQ este, înainte de C# 3.0, folosim pentru buclă, pentru fiecare buclă, sau delegați pentru a traversa o colecție pentru a urmări un anumit obiect, dar în detrimentul implicării acestor strategii pentru găsirea unui obiect este că doriți cu adevărat să compuneți o cantitate enormă de cod pentru a găsi un obiect care este suplimentar plictisitor și pentru a face programul mai puțin lucid. Deci, pentru a învinge aceste probleme, este prezentat LINQ, care desfășoară o activitate similară în câteva cantități de linii și face codul clar; în plus, puteți implica cod similar în diferite proiecte.
- În plus, oferă o verificare completă a sortării în timpul compilării. Ne ajută să distingem eroarea în timpul execuției, astfel încât, fără îndoială, le putem elimina.
- LINQ este un limbaj simplu, foarte aranjat și de nivel semnificativ decât SQL
- De asemenea, puteți utiliza LINQ cu matrice și colecții C#. Vă oferă o altă îndrumare pentru a vă ocupa de problemele vechi într-un mod puternic.
- Cu ajutorul LINQ, puteți lucra fără îndoială cu o sursă de date precum XML, SQL, Entități, obiecte și așa mai departe. O singură interogare poate funcționa cu baza de date, motiv convingător pentru a învăța diferite tipuri de limbi.
- LINQ susține expresia de interogare, tipurile anonime, variabilele tipizate implicit, expresiile Lambda, inițializatorii de obiecte și colecții și metodele de extensie.
Putem folosi interogări LINQ în două moduri
Structura de sintaxă a interogării LINQ este compusă din cuvinte cheie de interogare care sunt caracterizate în versiunea .NET System 3.5 sau mai mare. Acest lucru permite inginerului sau dezvoltatorilor de software să compună direcțiile la fel ca designul SQL în cod (C# sau VB.NET) fără utilizarea ratelor. Este în mod similar cunoscut în lumina faptului că gramatica articulației întrebărilor. În LINQ, puteți compune interogarea către seria IEnumerable sau sursele de informații IQueryable utilizând strategiile următoare:
1. Sintaxa interogării:
Sintaxa limbajului de interogare LINQ începe cu cuvântul cheie de la și se termină cu cuvântul cheie Select sau GroupBy. După cuvântul cheie, puteți utiliza diferite tipuri de operațiuni de interogare standard, cum ar fi gruparea, filtrarea și așa mai departe, după cum indică nevoia dvs. În LINQ, sunt accesibile 50 de tipuri unice de administratori de întrebări standard.
Pași pentru scrierea sintaxei de interogare:
Pasul 1: În primul pas, trebuie să adăugăm spațiul de nume System.Linq în cod.
i.e., using System.Linq;
Pasul 2: Într-un al doilea pas, trebuie să creăm sursa de date pe care trebuie să realizăm operațiunile
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Pasul 3: În al treilea pas, trebuie să creăm interogarea pentru sursa de date folosind un cuvânt cheie precum select, from etc.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Aici r este variabila de interogare care stochează rezultatul articulației interogării. Clauza de formular este utilizată pentru a determina sursa de informații, adică lista, unde se aplică condiția canalului, adică l.Contains(' Hii ') și instrucțiunea select oferă tipul lucrurilor aduse înapoi. În plus, l este variabila de acoperire.
Pasul-4: Pasul final este să executați interogarea folosind for fiecare buclă.
EX: foreach(var i in r) { Console.WriteLine(i); }
Exemplu de program pentru sintaxa de interogare:
inttostr java
// 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); } } }
Ieșire:
2. Sintaxa metodei
În LINQ, sintaxa metodei este utilizată pentru a apela metoda de extindere pentru clasele statice Enumerable sau Queryable. Se mai numește Method Extension Syntax sau Fluent. Cu toate acestea, compilatorul schimbă, în general, sintaxa interogării în structura sintaxei metodei în momentul compilării. Poate apela operatorul standard de interogare, cum ar fi Where, Join, Max, Min, Avg, GroupBy Select și așa mai departe. Aveți voie să le apelați direct, fără a utiliza sintaxa de interogare.
Pasul 1: În primul pas, trebuie să adăugăm spațiul de nume System.Linq în cod.
i.e., using System.Linq;
Pasul 2: Într-un al doilea pas, trebuie să creăm sursa de date pe care trebuie să realizăm operațiunile
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Pasul 3: Acum creați interogarea folosind metodele furnizate de clasele statice Enumerable sau Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Aici r este variabila de interogare care stochează rezultatul articulației interogării. Clauza de formular este utilizată pentru a determina sursa de informații, adică lista, unde se aplică condiția canalului, adică l.Contains(' Hii ') și instrucțiunea select oferă tipul lucrurilor aduse înapoi. În plus, l este variabila de acoperire.
Pasul-4: Pasul final este să executați interogarea folosind for fiecare buclă.
EX: foreach(var i in r) { Console.WriteLine(i); }
Exemplu de program pe sintaxa Metodei:
// 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); } } }
Ieșire:
Avantajele LINQ
- Clientul nu trebuie să învețe noi limbaje de interogare pentru un tip alternativ de format de date sau sursă de date.
- Crește claritatea codului.
- Interogarea poate fi reutilizată.
- Oferă verificarea tipului obiectului la momentul asamblarii.
- Oferă IntelliSense colecțiilor convenționale.
- Tinde să fie utilizat cu colecții sau matrice.
- LINQ susține ordonarea, gruparea, filtrarea și sortarea.
- Face depanarea simplă, deoarece este coordonată cu limbajul C#.
- Oferă o schimbare simplă, sugerând că, fără îndoială, puteți schimba mai mult de un tip de date într-un alt tip de date, cum ar fi schimbarea datelor SQL în date XML.