LINQ staat bekend als Language Integrated Query en wordt gepresenteerd in .NET 3.5 en Visual Studio 2008. Het mooie van LINQ is dat het de mogelijkheid geeft aan .NET-talen (zoals C#, VB.NET, enzovoort) om vragen te creëren voor informatie uit de informatiebron herstellen. Een programma kan bijvoorbeeld gegevens uit de understudy-records halen of naar werknemersrecords gaan, enzovoort. In voorgaande jaren werd dit soort informatie opgeslagen in een andere dataset dan de applicatie, en je wilt echt verschillende soorten vraagtaal leren om toegang te krijgen tot dit soort informatie, zoals SQL, XML, enzovoort. En bovendien kun je geen vraag stellen in de C#-taal of een andere .NET-taal.
css vetgedrukte tekst
Om dit soort problemen het hoofd te bieden, heeft Microsoft LINQ gemaakt. Het verbindt nog een capaciteit met de C#- of .NET-dialecten om een vraag te creëren voor elke LINQ-levensvatbare informatiebron. Bovendien is het beste deel dat de zinsstructuur die wordt gebruikt om een vraag te stellen vergelijkbaar is, ongeacht het soort informatiebron dat wordt gebruikt. Dit betekent dat de grammatica van het vragen naar informatie in een sociale dataset dezelfde is als die wordt gebruikt om vraaginformatie te maken. weggeborgen in een cluster is er een dwingende reden om SQL of een andere niet-.NET-taalcomponent te gebruiken. U kunt LINQ ook gebruiken met SQL, met XML-records, met ADO.NET, met webadministraties en met een andere informatiebank.
In C# is LINQ beschikbaar in System. Linq-naamruimte. Het geeft verschillende soorten lessen en technieken die LINQ-vragen ondersteunen. In deze naamruimte:
- De klasse Enumerable bevat een standaardqueryoperator die werkt op een object dat IEnumerable uitvoert.
- De klasse Queryable bevat standaardonderzoeksbeheerders die werken aan een object dat IQueryable uitvoert.
Bijvoorbeeld : SQL is een gestructureerde querytaal die wordt gebruikt om gegevens uit de database op te slaan en te recupereren. Op dezelfde manier is LINQ een georganiseerde queryzinstructuur. LINQ is de basis-C#. Het wordt gebruikt om informatie uit verschillende soorten bronnen te herstellen, bijvoorbeeld XML, documenten, collecties, ADO.Net DataSet, Web Service, MS SQL Server en verschillende databaseservers.
Gebruik van LINQ
- De belangrijkste reden achter het maken van LINQ is dat we vóór C# 3.0 for loop, for every loop, of delegaties gebruikten om een verzameling te doorkruisen om een bepaald object op te sporen. Het nadeel van het gebruik van deze strategieën voor het vinden van een object is echter dat je echt wilt stel een enorme hoeveelheid code samen om een object te vinden, wat extra vervelend is en uw programma minder helder maakt. Om deze problemen te omzeilen, wordt LINQ gepresenteerd, dat soortgelijke activiteiten in een paar regels regels uitvoert en uw code duidelijk maakt; bovendien kunt u vergelijkbare code in verschillende projecten betrekken.
- Het biedt bovendien volledige sorteercontrole tijdens het compileren. Het helpt ons bij het onderscheiden van de fouten tijdens de runtime, zodat we ze ongetwijfeld kunnen elimineren.
- LINQ is dat het eenvoudig, zeer overzichtelijk en een taal van aanzienlijk niveau is dan SQL
- U kunt LINQ ook gebruiken met C#-arrays en -verzamelingen. Het biedt je nog een leidraad om op een krachtige manier met de oude problemen om te gaan.
- Met behulp van LINQ kun je ongetwijfeld werken met een gegevensbron zoals XML, SQL, Entiteiten, objecten, enzovoort. Een enkele zoekopdracht kan met de database werken, er is een dwingende reden om verschillende soorten talen te leren.
- LINQ handhaaft query-expressie, anonieme typen, impliciet getypte variabelen, Lambda-expressies, object- en verzamelingsinitialisatoren en uitbreidingsmethoden.
We kunnen LINQ-query's op twee manieren gebruiken
LINQ-query De syntaxisstructuur bestaat uit query-trefwoorden die worden gekarakteriseerd in de .NET System-weergave 3.5 of hoger. Hierdoor kunnen de software-ingenieurs of ontwikkelaars de richtingen samenstellen die heel erg lijken op SQL-ontwerp in de code (C# of VB.NET) zonder gebruik te maken van tarieven. Het is op dezelfde manier bekend in het licht van het feit dat de vraagarticulatiegrammatica. In LINQ kunt u het onderzoek naar IEnumerable series of IQueryable informatiebronnen samenstellen met behulp van de volgende strategieën:
1. Querysyntaxis:
De syntaxis van de LINQ-querytaal begint met het trefwoord from en eindigt met het trefwoord Select of GroupBy. Na het trefwoord kunt u verschillende soorten standaardquerybewerkingen gebruiken, zoals groeperen, filteren, enzovoort, afhankelijk van uw behoefte. In LINQ zijn 50 unieke soorten standaardvraagbeheerders toegankelijk.
Stappen voor het schrijven van de querysyntaxis:
Stap 1: In de eerste stap moeten we de System.Linq-naamruimte aan de code toevoegen.
i.e., using System.Linq;
Stap 2: In een tweede stap moeten we de gegevensbron creëren waarop we de bewerkingen moeten uitvoeren
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Stap 3: In de derde stap moeten we de query voor de gegevensbron maken met behulp van een trefwoord zoals select, from, etc.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Hier is r de vraagvariabele die het resultaat van de vraagarticulatie opslaat. De vormclausule wordt gebruikt om de informatiebron te bepalen, d.w.z. lijst, waar de voorwaarde van toepassing is op het kanaal, d.w.z. l.Contains('Hii') en de select-instructie geeft het soort teruggebrachte dingen aan. Bovendien is l de bereikvariabele.
Stap 4: De laatste stap is het uitvoeren van de query met behulp van de for every-lus.
EX: foreach(var i in r) { Console.WriteLine(i); }
Voorbeeldprogramma over Query-syntaxis:
// 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); } } }
Uitgang:
2. Methodesyntaxis
In LINQ wordt Method Syntax gebruikt om de uitbreidingsmethode voor de Enumerable of Queryable statische klassen aan te roepen. Het wordt ook Method Extension Syntax of Fluent genoemd. Desalniettemin verandert de compiler tijdens het compileren over het algemeen de querysyntaxis in de syntaxisstructuur van de methode. Het kan de standaard Query-operator oproepen, zoals Where, Join, Max, Min, Avg, GroupBy Select, enzovoort. U mag ze eenvoudig oproepen zonder gebruik te maken van de Query-syntaxis.
Stap 1: In de eerste stap moeten we de System.Linq-naamruimte aan de code toevoegen.
i.e., using System.Linq;
Stap 2: In een tweede stap moeten we de gegevensbron creëren waarop we de bewerkingen moeten uitvoeren
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Stap 3: Maak nu de query met behulp van de methoden die worden geboden door de statische klassen Enumerable of Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Hier is r de vraagvariabele die het resultaat van de vraagarticulatie opslaat. De vormclausule wordt gebruikt om de informatiebron te bepalen, d.w.z. lijst, waar de voorwaarde van toepassing is op het kanaal, d.w.z. l.Contains('Hii') en de select-instructie geeft het soort teruggebrachte dingen aan. Bovendien is l de bereikvariabele.
Stap 4: De laatste stap is het uitvoeren van de query met behulp van de for every-lus.
EX: foreach(var i in r) { Console.WriteLine(i); }
Voorbeeldprogramma over methodesyntaxis:
// 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); } } }
Uitgang:
snel sorteren
Voordelen van LINQ
- De klant hoeft geen nieuwe querytalen te leren voor een alternatief type gegevensindeling of gegevensbron.
- Het verhoogt de duidelijkheid van de code.
- De query kan opnieuw worden gebruikt.
- Het biedt typecontrole van het object tijdens de montage.
- Het geeft IntelliSense aan conventionele collecties.
- Het wordt meestal gebruikt met verzamelingen of arrays.
- LINQ ondersteunt ordenen, groeperen, filteren en sorteren.
- Het maakt foutopsporing eenvoudig omdat het wordt gecoördineerd met de C#-taal.
- Het biedt eenvoudige wijzigingen die suggereren dat u zonder twijfel meer dan één gegevenstype in een ander gegevenstype kunt wijzigen, zoals het wijzigen van SQL-gegevens in XML-gegevens.