LINQ è noto come Language Integrated Query ed è presentato in .NET 3.5 e Visual Studio 2008. L'eccellenza di LINQ è che offre la capacità ai linguaggi .NET (come C#, VB.NET e così via) di creare richieste a recuperare informazioni dalla fonte informativa. Ad esempio, un programma potrebbe ottenere dati dai record degli studenti o accedere ai record dei lavoratori e così via. Negli anni precedenti, questo tipo di informazioni veniva archiviato in un set di dati diverso dall'applicazione e vorresti davvero imparare vari tipi di linguaggio delle domande per accedere a questo tipo di informazioni come SQL, XML e così via. Inoltre, non puoi porre una domanda utilizzando il linguaggio C# o qualche altro linguaggio .NET.
cos'è la gestione delle eccezioni in Java
Per superare questo tipo di problemi, Microsoft ha creato LINQ. Collega un'ulteriore capacità ai dialetti C# o .NET per creare una domanda per qualsiasi origine di informazioni valida LINQ. Inoltre, la parte migliore è che la struttura della frase utilizzata per formulare una domanda è simile indipendentemente dal tipo di fonte di informazione utilizzata, ciò significa che la grammatica per effettuare una domanda sulle informazioni in un set di dati sociali è la stessa utilizzata per formulare le informazioni sulla domanda messo via in un cluster c'è una ragione convincente per utilizzare SQL o qualche altro componente del linguaggio non .NET. Puoi anche utilizzare LINQ con SQL, con record XML, con ADO.NET, con servizi web e con qualche altra base di dati.
In C#, LINQ è disponibile in System. Spazio dei nomi Linq. Fornisce diversi tipi di classi e tecniche che supportano le domande LINQ. In questo spazio dei nomi:
- La classe Enumerable contiene un operatore di query standard che funziona su un oggetto che esegue IEnumerable.
- La classe interrogabile contiene amministratori di interrogazione standard che lavorano su un oggetto che esegue IQueryable.
Per esempio : SQL è un linguaggio di query strutturato utilizzato per salvare e recuperare dati dal database. Allo stesso modo, LINQ è una struttura di frasi di query organizzate. LINQ è il C# di base. Viene utilizzato per recuperare informazioni da vari tipi di fonti, ad esempio XML, documenti, raccolte, ADO.Net DataSet, servizio Web, MS SQL Server e diversi server di database.
Usi di LINQ
- Il motivo principale alla base della creazione di LINQ è che, prima di C# 3.0, utilizzavamo il ciclo for, per ogni ciclo o i delegati per attraversare una raccolta per rintracciare un oggetto particolare, ma lo svantaggio di coinvolgere queste strategie per trovare un oggetto è che vuoi davvero componi un'enorme quantità di codice per trovare un oggetto che sia ulteriormente noioso e renda il tuo programma meno lucido. Quindi, per superare questi problemi, viene presentato LINQ, che svolge un'attività simile in un paio di quantità di righe e rende chiaro il codice; inoltre, puoi coinvolgere codice simile in diversi progetti.
- Fornisce inoltre un controllo completo dell'ordinamento in fase di compilazione. Ci aiuta a distinguere gli errori in fase di esecuzione, quindi possiamo eliminarli senza dubbio.
- LINQ è un linguaggio semplice, molto organizzato e di livello significativo rispetto a SQL
- Puoi anche utilizzare LINQ con array e raccolte C#. Ti fornisce un’altra guida per affrontare i vecchi problemi in modo potente.
- Con l'assistenza di LINQ, puoi senza dubbio lavorare con un'origine dati come XML, SQL, entità, oggetti e così via. Una singola query può funzionare con il database, motivo valido per cui è necessario apprendere vari tipi di lingue.
- LINQ supporta espressioni di query, tipi anonimi, variabili tipizzate implicitamente, espressioni Lambda, inizializzatori di oggetti e raccolte e metodi di estensione.
Possiamo utilizzare le query LINQ in due modi
La struttura della sintassi della query LINQ è composta da parole chiave della query caratterizzate nella versione .NET System 3.5 o successiva. Ciò consente all'ingegnere del software o agli sviluppatori di comporre le istruzioni in modo molto simile alla progettazione SQL nel codice (C# o VB.NET) senza l'utilizzo di tariffe. È noto allo stesso modo alla luce del fatto che la grammatica dell'articolazione delle domande. In LINQ è possibile comporre l'interrogazione su serie IEnumerable o origini informazioni IQueryable utilizzando le seguenti strategie:
1. Sintassi della query:
La sintassi del linguaggio di query LINQ inizia con la parola chiave from e termina con la parola chiave Select o GroupBy. Dopo la parola chiave, puoi utilizzare vari tipi di operazioni di query standard come raggruppamento, filtraggio e così via, come indicato dalle tue necessità. In LINQ sono accessibili 50 tipi univoci di amministratori di domande standard.
Passaggi per scrivere la sintassi della query:
Passo 1: Nel primo passaggio dobbiamo aggiungere lo spazio dei nomi System.Linq nel codice.
i.e., using System.Linq;
Passo 2: In una seconda fase, dobbiamo creare la fonte dati su cui dobbiamo eseguire le operazioni
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Passaggio 3: Nel terzo passaggio, dobbiamo creare la query per l'origine dati utilizzando una parola chiave come select, from, ecc.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Qui r è la variabile di query che memorizza il risultato dell'articolazione della query. La clausola del modulo viene utilizzata per determinare la fonte delle informazioni, ovvero l'elenco, dove la condizione si applica al canale, ovvero l.Contains(' Hii ') e l'istruzione select fornisce il tipo di elementi riportati. Inoltre, l è la variabile di portata.
Passaggio 4: Il passaggio finale consiste nell'eseguire la query utilizzando il ciclo for each.
EX: foreach(var i in r) { Console.WriteLine(i); }
Programma di esempio sulla sintassi della query:
// 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); } } }
Produzione:
costante Java
2. Sintassi del metodo
In LINQ, la sintassi del metodo viene utilizzata per chiamare il metodo di espansione per le classi statiche Enumerable o Queryable. È anche chiamato Method Extension Syntax o Fluent. Tuttavia, il compilatore generalmente modifica la sintassi della query nella struttura della sintassi del metodo in fase di compilazione. Può richiamare l'operatore Query standard come Where, Join, Max, Min, Avg, GroupBy Select e così via. Puoi chiamarli direttamente senza utilizzare la sintassi della query.
Passo 1: Nel primo passaggio dobbiamo aggiungere lo spazio dei nomi System.Linq nel codice.
i.e., using System.Linq;
Passo 2: In una seconda fase, dobbiamo creare la fonte dati su cui dobbiamo eseguire le operazioni
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Passaggio 3: Creare ora la query utilizzando i metodi forniti dalle classi statiche Enumerable o Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Qui r è la variabile di query che memorizza il risultato dell'articolazione della query. La clausola del modulo viene utilizzata per determinare la fonte delle informazioni, ovvero l'elenco, dove la condizione si applica al canale, ovvero l.Contains(' Hii ') e l'istruzione select fornisce il tipo di elementi riportati. Inoltre, l è la variabile di portata.
Passaggio 4: Il passaggio finale consiste nell'eseguire la query utilizzando il ciclo for each.
EX: foreach(var i in r) { Console.WriteLine(i); }
Programma di esempio sulla sintassi del metodo:
// 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); } } }
Produzione:
Vantaggi di LINQ
- Il client non deve apprendere nuovi linguaggi di query per un tipo alternativo di formato dati o origine dati.
- Aumenta la chiarezza del codice.
- La query può essere riutilizzata.
- Fornisce il controllo del tipo dell'oggetto al momento dell'assemblaggio.
- Fornisce IntelliSense alle raccolte convenzionali.
- Tende ad essere utilizzato con raccolte o array.
- LINQ supporta l'ordinamento, il raggruppamento, il filtraggio e l'ordinamento.
- Semplifica il debug poiché è coordinato con il linguaggio C#.
- Fornisce un cambiamento diretto suggerendo che puoi senza dubbio modificare più di un tipo di dati in un altro tipo di dati come cambiare i dati SQL in dati XML.