LINQ se conoce como Language Integrated Query y se presenta en .NET 3.5 y Visual Studio 2008. La excelencia de LINQ es que brinda la capacidad a los lenguajes .NET (como C#, VB.NET, etc.) de crear consultas para recuperar información de la fuente de información. Por ejemplo, un programa podría obtener datos de los registros de los suplentes o de los registros de los trabajadores, etc. En años anteriores, ese tipo de información se guardaba en un conjunto de datos diferente al de la aplicación, y realmente deseaba aprender varios tipos de lenguaje de preguntas para acceder a ese tipo de información, como SQL, XML, etc. Y además, no puede hacer una pregunta utilizando el lenguaje C# o algún otro lenguaje .NET.
tabla java
Para solucionar este tipo de problemas, Microsoft creó LINQ. Conecta una capacidad más a los dialectos C# o .NET para crear una pregunta para cualquier fuente de información viable de LINQ. Es más, la mejor parte es que la estructura de la oración utilizada para formular una pregunta es similar independientemente del tipo de fuente de información que se utilice, lo que significa que la gramática para realizar una consulta sobre información en un conjunto de datos sociales es la misma que la utilizada para formular información de preguntas. guardado en un clúster, existe una razón de peso para utilizar SQL o algún otro componente de lenguaje que no sea .NET. También puedes utilizar LINQ con SQL, con registros XML, con ADO.NET, con administraciones web y con alguna otra base de datos.
En C#, LINQ está disponible en System. Espacio de nombres Linq. Ofrece diferentes tipos de clases y técnicas que respaldan las preguntas de LINQ. En este espacio de nombres:
- La clase Enumerable contiene un operador de consulta estándar que funciona en un objeto que ejecuta IEnumerable.
- La clase consultable contiene administradores de consultas estándar que trabajan en un objeto que ejecuta IQueryable.
Por ejemplo : SQL es un lenguaje de consulta estructurado que se utiliza para guardar y recuperar datos de la base de datos. Asimismo, LINQ es una estructura de oración de consulta organizada. LINQ es el C# básico. Se utiliza para recuperar información de varios tipos de fuentes, por ejemplo, XML, documentos, colecciones, ADO.Net DataSet, servicios web, MS SQL Server y diferentes servidores de bases de datos.
Usos de LINQ
- La razón principal detrás de crear LINQ es que, antes de C# 3.0, usábamos bucles for, for each loop o delegados para recorrer una colección y rastrear un objeto en particular; sin embargo, el inconveniente de utilizar estas estrategias para encontrar un objeto es que realmente desea Redacte una enorme cantidad de código para encontrar un objeto, lo cual es aún más tedioso y hace que su programa sea menos lúcido. Entonces, para solucionar estos problemas, se presenta LINQ, que desarrolla una actividad similar en un par de líneas y aclara el código; además, puedes involucrar código similar en diferentes proyectos.
- Además, ofrece una verificación de clasificación completa en el momento de la compilación. Nos ayuda a distinguir el error en tiempo de ejecución, por lo que sin duda podemos eliminarlo.
- LINQ es un lenguaje sencillo, muy organizado y de nivel significativo que SQL.
- También puede utilizar LINQ con matrices y colecciones de C#. Le proporciona otra guía para ocuparse de los viejos problemas de una manera poderosa.
- Con la ayuda de LINQ, sin duda podrá trabajar con una fuente de datos como XML, SQL, entidades, objetos, etc. Una sola consulta puede funcionar con la base de datos, por lo que es necesario aprender varios tipos de idiomas.
- LINQ admite expresiones de consulta, tipos anónimos, variables escritas implícitamente, expresiones Lambda, inicializadores de objetos y colecciones y métodos de extensión.
Podemos utilizar consultas LINQ de dos formas.
La estructura de sintaxis de consulta LINQ se compone de palabras clave de consulta que se caracterizan en la versión 3.5 o superior del sistema .NET. Esto permite al ingeniero o desarrollador de software redactar las instrucciones de manera muy similar al diseño SQL en el código (C# o VB.NET) sin el uso de tasas. También se conoce porque la gramática de articulación de preguntas. En LINQ, puede redactar la consulta en series IEnumerable o fuentes de información IQueryable utilizando las siguientes estrategias:
1. Sintaxis de consulta:
La sintaxis del lenguaje de consulta LINQ comienza con la palabra clave from y termina con la palabra clave Select o GroupBy. Después de la palabra clave, puede utilizar varios tipos de operaciones de consulta estándar, como agrupación, filtrado, etc., según lo indique su necesidad. En LINQ, se puede acceder a 50 tipos únicos de administradores de preguntas estándar.
Pasos para escribir la sintaxis de la consulta:
Paso 1: En el primer paso, debemos agregar el espacio de nombres System.Linq en el código.
i.e., using System.Linq;
Paso 2: En un segundo paso, tenemos que crear la fuente de datos sobre la que tenemos que realizar las operaciones.
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Paso 3: En el tercer paso, tenemos que crear la consulta para la fuente de datos usando una palabra clave como seleccionar, de, etc.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Aquí r es la variable de consulta que almacena el resultado de la articulación de la consulta. La cláusula de formulario se utiliza para determinar la fuente de información, es decir, la lista, donde la condición se aplica al canal, es decir, l.Contains(' Hii ') y la declaración de selección proporciona el tipo de cosas devueltas. Además, l es la variable de alcance.
Etapa 4: El último paso es ejecutar la consulta utilizando el bucle for each.
EX: foreach(var i in r) { Console.WriteLine(i); }
Programa de ejemplo sobre sintaxis de consulta:
// 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); } } }
Producción:
2. Sintaxis del método
En LINQ, la sintaxis del método se utiliza para llamar al método de expansión para las clases estáticas enumerables o consultables. También se le llama Sintaxis de extensión de método o Fluent. No obstante, el compilador generalmente cambia la sintaxis de la consulta en la estructura de sintaxis del método en el momento de la compilación. Puede convocar al operador de consulta estándar como Dónde, Unirse, Máx., Mín., Promedio, Selección de grupo por, etc. Se le permite llamarlos directamente sin utilizar la sintaxis de consulta.
Paso 1: En el primer paso, debemos agregar el espacio de nombres System.Linq en el código.
i.e., using System.Linq;
Paso 2: En un segundo paso, tenemos que crear la fuente de datos sobre la que tenemos que realizar las operaciones.
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Paso 3: Ahora cree la consulta utilizando los métodos proporcionados por las clases estáticas Enumerable o Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Aquí r es la variable de consulta que almacena el resultado de la articulación de la consulta. La cláusula de formulario se utiliza para determinar la fuente de información, es decir, la lista, donde la condición se aplica al canal, es decir, l.Contains(' Hii ') y la declaración de selección proporciona el tipo de cosas devueltas. Además, l es la variable de alcance.
Etapa 4: El último paso es ejecutar la consulta utilizando el bucle for each.
EX: foreach(var i in r) { Console.WriteLine(i); }
Programa de ejemplo sobre la sintaxis del método:
// 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); } } }
Producción:
bucle for en script de shell
Ventajas de LINQ
- El cliente no tiene que aprender nuevos lenguajes de consulta para un tipo alternativo de formato de datos o fuente de datos.
- Incrementa la claridad del código.
- La consulta se puede reutilizar.
- Proporciona verificación de tipo del objeto en el momento del ensamblaje.
- Da IntelliSense a las colecciones convencionales.
- Tiende a utilizarse con colecciones o matrices.
- LINQ admite ordenar, agrupar, filtrar y clasificar.
- Simplifica la depuración ya que está coordinado con el lenguaje C#.
- Ofrece un cambio sencillo, lo que sugiere que sin duda puede cambiar más de un tipo de datos a otro tipo de datos, como cambiar datos SQL a datos XML.