LINQ se conoce como Language Integrated Query y se introdujo en .NET 3.5 y Visual Studio 2008. La belleza de LINQ es que proporciona la capacidad de los lenguajes .NET (como C# , VB.NET, etc.) para generar consultas para recuperar datos. de la fuente de datos. Por ejemplo, un programa puede obtener información de los registros de los estudiantes o acceder a los registros de los empleados, etc. En los últimos años, este tipo de datos se almacena en una base de datos separada de la aplicación, y necesita aprender diferentes tipos de lenguaje de consulta para acceder. ese tipo de datos como SQL, XML, etc. Y tampoco puede crear una consulta usando el lenguaje C# o cualquier otro lenguaje .NET .
Para superar este tipo de problemas, Microsoft desarrolló LINQ. Agrega una potencia adicional a los lenguajes C# o .NET para generar una consulta para cualquier fuente de datos compatible con LINQ. Y la mejor parte es que la sintaxis utilizada para crear una consulta es la misma, independientemente del tipo de fuente de datos que se utilice, lo que significa que la sintaxis para crear una consulta de datos en una base de datos relacional es la misma que la utilizada para crear datos de consulta almacenados en una array allí. no es necesario utilizar SQL ni ningún otro mecanismo de lenguaje que no sea .NET. También puede usar LINQ con SQL, con archivos XML, con ADO.NET, con servicios web y con cualquier otra base de datos.
En C#, LINQ está presente en el espacio de nombres System.Linq . Proporciona diferentes tipos de clases y métodos que admiten consultas LINQ. En este espacio de nombres:
- La clase enumerable contiene operadores de consulta estándar que operan en el objeto que ejecuta IEnumerable<T> .
- La clase Queryable contiene operadores de consulta estándar que operan en el objeto que ejecuta IQueryable<T> .
Arquitectura de LINQ
La arquitectura de LINQ es una arquitectura de 3 capas. En el que la capa superior contiene extensión de idioma y la capa inferior contiene fuentes de datos que generalmente se oponen a implementar interfaces genéricas IEnumerable <T> o IQueryable <T>. La arquitectura del LINQ es como se muestra en la siguiente imagen:
¿Por qué usamos LINQ?
Ahora aprendemos por qué se crea LINQ o por qué usamos LINQ. Los siguientes puntos explican por qué usamos LINQ.
- El propósito principal detrás de la creación de LINQ es, antes de C# 3.0, usamos for loop, foreach loop o los delegados recorren una colección para encontrar un objeto específico, pero la desventaja de usar estos métodos para encontrar un objeto es que necesita escribir una gran suma de código para encontrar un objeto que consume más tiempo y hace que su programa sea menos legible. Entonces, para superar estos problemas, se introdujo LINQ. Que realizan la misma operación en unas pocas líneas y hacen que su código sea más legible y también puede usar el mismo código en otros programas.
- También proporciona verificación de tipo completo en tiempo de compilación, nos ayuda a detectar el error en tiempo de ejecución, para que podamos eliminarlo fácilmente.
- LINQ es un lenguaje simple, bien ordenado y de alto nivel que SQL
- También puede usar LINQ con arrays y colecciones de C#. Le da una nueva dirección para resolver los viejos problemas de manera efectiva.
- Con la ayuda de LINQ, puede trabajar fácilmente con cualquier tipo de fuente de datos como XML, SQL, Entidades, objetos, etc. Una sola consulta puede funcionar con cualquier tipo de base de datos sin necesidad de aprender diferentes tipos de lenguajes.
- LINQ admite expresiones de consulta, variables tipificadas implícitamente, inicializadores de objetos y colecciones, tipos anónimos, métodos de extensión y expresiones Lambda.
Ventajas de LINQ
- El usuario no necesita aprender nuevos lenguajes de consulta para un tipo diferente de fuente de datos o formato de datos.
- Aumenta la legibilidad del código.
- La consulta se puede reutilizar.
- Proporciona verificación de tipo del objeto en tiempo de compilación.
- Proporciona IntelliSense para colecciones genéricas.
- Se puede usar con arreglos o colecciones.
- LINQ admite filtrado, clasificación, ordenación y agrupación.
- Facilita la depuración porque está integrado con el lenguaje C#.
- Proporciona una transformación fácil, lo que significa que puede convertir fácilmente un tipo de datos en otro tipo de datos, como transformar datos SQL en datos XML.
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA