LINQ je poznat kao Language Integrated Query, a predstavljen je u .NET 3.5 i Visual Studio 2008. Izvrsnost LINQ-a je što daje kapacitet .NET jezicima (poput C#, VB.NET i tako dalje) za stvaranje upita za obnoviti informacije iz izvora informacija. Na primjer, program može dobiti podatke iz zapisa o zamjeni ili doći do zapisa radnika, i tako dalje. Prethodnih godina takva vrsta informacija bila je pohranjena u različitom skupu podataka od aplikacije, a vi stvarno želite naučiti različite vrste jezika pitanja kako biste pristupili takvoj vrsti informacija kao što su SQL, XML i tako dalje. Štoviše, ne možete postaviti pitanje koristeći C# jezik ili neki drugi .NET jezik.
osnove selena
Kako bi pobijedio takve probleme, Microsoft je stvorio LINQ. Povezuje još jedan kapacitet s dijalektima C# ili .NET za stvaranje pitanja za bilo koji LINQ održiv izvor informacija. Štoviše, najbolji dio je to što je rečenična struktura koja se koristi za postavljanje pitanja slična bez obzira na to koja se vrsta izvora informacija koristi, što znači da je gramatika postavljanja upita o informacijama u skupu društvenih podataka ista kao ona koja se koristi za izradu informacija o pitanju skloniti u klaster postoji uvjerljiv razlog za korištenje SQL-a ili neke druge jezične komponente koja nije .NET. Isto tako možete koristiti LINQ sa SQL-om, s XML zapisima, s ADO.NET-om, s web administracijom i s nekom drugom informacijskom bazom.
U C#, LINQ je dostupan u sustavu. Linq imenski prostor. Daje različite vrste klasa i tehnika koje podržavaju LINQ pitanja. U ovom imenskom prostoru:
- Klasa Enumerable sadrži standardni operator upita koji radi na objektu koji izvršava IEnumerable.
- Klasa queryable sadrži standardne administratore upita koji rade na objektu koji izvršava IQueryable.
Na primjer : SQL je strukturirani upitni jezik koji se koristi za spremanje i obnavljanje podataka iz baze podataka. Isto tako, LINQ je struktura organizirane rečenice upita. LINQ je osnovni C#. Koristi se za obnavljanje informacija iz raznih vrsta izvora, na primjer, XML-a, dokumenata, zbirki, ADO.Net DataSet-a, web-servisa, MS SQL Servera i različitih poslužitelja baze podataka.
Upotreba LINQ-a
- Primarni razlog za izradu LINQ-a je, prije C# 3.0, da smo koristili for petlju, za svaku petlju ili delegate za prolazak kroz zbirku kako bismo pronašli određeni objekt, ali šteta od uključivanja ovih strategija za pronalaženje objekta je u tome što stvarno želite sastavite ogromnu količinu koda kako biste pronašli objekt koji je dodatno zamoran i vaš program čini manje lucidnim. Da bi se riješili ovi problemi, predstavljen je LINQ, koji izvodi sličnu aktivnost u nekoliko redaka i čini vaš kod jasnim; nadalje, možete uključiti sličan kod u različite projekte.
- Dodatno daje potpunu provjeru sortiranja tijekom kompajliranja. Pomaže nam u razlikovanju grešaka tijekom izvođenja, tako da ih nedvojbeno možemo eliminirati.
- LINQ je jednostavan, vrlo dobro uređen i jezik na znatnoj razini od SQL-a
- Na sličan način možete koristiti LINQ s C# nizom i zbirkama. Pruža vam još jednu smjernicu za rješavanje starih problema na snažan način.
- Uz pomoć LINQ-a nedvojbeno možete raditi s izvorima podataka kao što su XML, SQL, entiteti, objekti i tako dalje. Jedan upit može raditi s bazom podataka, zbog čega je potrebno naučiti razne vrste jezika.
- LINQ podržava izraze upita, anonimne tipove, implicitno upisane varijable, lambda izraze, inicijalizatore objekata i kolekcija i metode proširenja.
LINQ upite možemo koristiti na dva načina
Struktura sintakse LINQ upita sastoji se od ključnih riječi upita koje su okarakterizirane u izvedbi sustava .NET 3.5 ili novijoj. Ovo omogućuje softverskom inženjeru ili programerima da sastave upute vrlo slično SQL dizajnu u kodu (C# ili VB.NET) bez korištenja stopa. To je na sličan način poznato u svjetlu činjenice da pitanje artikulacijske gramatike. U LINQ-u možete sastaviti upit prema IEnumerable series ili IQueryable izvorima informacija koristeći sljedeće strategije:
1. Sintaksa upita:
Sintaksa jezika upita LINQ počinje ključnom riječi from i završava ključnom riječi Select ili GroupBy. Nakon ključne riječi, možete koristiti razne vrste standardnih operacija upita kao što su grupiranje, filtriranje i tako dalje, prema vašim potrebama. U LINQ-u je dostupno 50 jedinstvenih vrsta administratora standardnih pitanja.
Koraci za pisanje sintakse upita:
Korak 1: U prvom koraku moramo dodati imenski prostor System.Linq u kod.
i.e., using System.Linq;
Korak 2: U drugom koraku, moramo stvoriti izvor podataka na kojem moramo izvesti operacije
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Korak-3: U trećem koraku moramo izraditi upit za izvor podataka pomoću ključne riječi kao što je odabir, iz itd.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Ovdje je r varijabla upita koja pohranjuje rezultat artikulacije upita. Klauzula obrasca koristi se za određivanje izvora informacija, tj. popisa, gdje se uvjet primjenjuje na kanal, tj. l.Contains(' Hii ') i select izjava daje vrstu vraćenih stvari. Nadalje, l je varijabla dosega.
Korak-4: Posljednji korak je izvršavanje upita pomoću petlje za svaki.
EX: foreach(var i in r) { Console.WriteLine(i); }
Primjer programa na sintaksi upita:
// 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); } } }
Izlaz:
2. Sintaksa metode
U LINQ-u se sintaksa metode koristi za pozivanje metode proširenja za statičke klase Enumerable ili Queryable. Također se naziva Sintaksa proširenja metode ili Fluent. Bez obzira na to, prevoditelj općenito mijenja sintaksu upita u strukturi sintakse metode tijekom vremena kompilacije. Može pozvati standardni operator upita kao što su Where, Join, Max, Min, Avg, GroupBy Select i tako dalje. Dopušteno vam je pozivati ih izravno bez korištenja sintakse upita.
Korak 1: U prvom koraku moramo dodati imenski prostor System.Linq u kod.
i.e., using System.Linq;
Korak 2: U drugom koraku, moramo stvoriti izvor podataka na kojem moramo izvesti operacije
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Korak-3: Sada izradite upit pomoću metoda koje pružaju statičke klase Enumerable ili Queryable
javascript prozor.otvori
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Ovdje je r varijabla upita koja pohranjuje rezultat artikulacije upita. Klauzula obrasca koristi se za određivanje izvora informacija, tj. popisa, gdje se uvjet primjenjuje na kanal, tj. l.Contains(' Hii ') i select izjava daje vrstu vraćenih stvari. Nadalje, l je varijabla dosega.
Korak-4: Posljednji korak je izvršavanje upita pomoću petlje za svaki.
EX: foreach(var i in r) { Console.WriteLine(i); }
Primjer programa o sintaksi metode:
// 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); } } }
Izlaz:
Prednosti LINQ-a
- Klijent ne mora učiti nove jezike upita za alternativnu vrstu formata podataka ili izvora podataka.
- Povećava jasnoću koda.
- Upit se može ponovno koristiti.
- Omogućuje provjeru tipa objekta u vrijeme sastavljanja.
- Daje IntelliSense konvencionalnim zbirkama.
- Obično se koristi sa zbirkama ili nizovima.
- LINQ podržava sređivanje, grupiranje, filtriranje i sortiranje.
- Čini otklanjanje pogrešaka jednostavnim budući da je usklađen s jezikom C#.
- Omogućuje jednostavnu promjenu koja sugerira da bez sumnje možete promijeniti više od jedne vrste podataka u drugu vrstu podataka, poput promjene SQL podataka u XML podatke.