Linq
LinQ
.NET Language Integrated Query
¿Qué es LinQ?
Es una extensión a los lenguajes pertenecientes al .NET Framework de Microsoft que añade la capacidad derealizar consultas nativamente a través de los lenguajes .NET usando una sintaxis similar a la de SQL.
Es un modelo de programación que simplifica y unifica la implementación de acceso a cualquier tipo de dato. LINQ no impone a usar una arquitectura especifica mas bien facilita la implementación de varias arquitecturas existentes para acceso a datos.
El objetivo de LINQ es el de proveer a loslenguajes de programación de .NET la posibilidad de hacer queries nativamente desde el lenguaje, esto quiere decir ya no lidiar con SqlCommand, SqlDataReader, y demás objetos.
C# 3.0
Visual Basic 9.0
Others
.NET Language Integrated Query
LINQ to
Objects
LINQ to
DataSets
LINQ to
SQL
LINQ to
Entities
LINQ to
XML
Objects
<book>
<title/><author/>
<year/>
<price/>
</book>
XML
Relational
* Con frecuencia los programas deben acceder a diferentes dominios de datos:
* Un documento XML
* Una base de datos
* Una llave del registry
* Cada dominio de datos tiene su propio modelo de acceso:
* Bases de datos->SQL
* XML->DOM,XQuery
* Diferentes enfoquespara representar datos:
* Modelo Relacional
* Modelo Jerárquico
* Modelo Grafico
LinQ to Objects
Es el nombre que recibe la API para los operadores de consulta estandard. Este permite hacer consultas en arreglos y colecciones de datos en memoria.
Los operadores estandard de consulta son métodos estáticos de la clase estática System.Linq.Enumerable, la cual se utilizapara crear consultas hacia objetos.
LinQ to DataSets
Este es el nombre que recibe la API para el manejo de DataSets. Muchos desarrolladores tienen mucho código existente para el uso de datasets.
Aquellos que no quieran quedarse rezagados, no necesitaran reescribir todo su código para aprovechar las ventajas de LINQ.
LinQ to SQL
Este es el nombre que recibe la API que permiteinteractuar con Microsoft SQL Server,esta interfaz fue conocida en versiones anteriores como DLinq.
Para poder hacer uso de esta API y aprovechar todas las características de la misma debemos hacer referencia al ensamble System.Data.Linq.dll y en código al namespace System.Data.linq
LINQ para SQL es una implementación de O/RM (object relational mapping, mapeador de objetos relacionales) que vienecon la nueva versión del .NET Framework y nos permite modelar bases de datos relacionales con clases de .NET. Podemos consultar bases de datos con LINQ así como actualizar/añadir/borrar datos de ellas.
Visual Studio 2008 incluye un diseñador de LINQ To SQL para modelado de BD.
LinQ to Entities
LINQ para entidades es un API alternativa utilizada para interactuar con bases de datos.
Estasepara el modelo de la base de datos de la base de datos física insertando un mapeo lógico entre los dos.
LinQ to XML
Esta API se utiliza para trabajar con XML. En versiones previas de LINQ fue conocida como Xlinq.
Para poder aprovechar las ventajas de esta API hay que hacer referencia al ensamble System.Xml.Linq.dll y en código al namespace System.xml.linq.
Nuevas CaracterísticasPara lograr todo esto LINQ utiliza las siguientes características del framework, que vienen incluidas en la versión de Visual Studio 2008:
* Anonymous Types.
* Extension Methods.
* Lambda Expressions.
* Expression Trees.
* Standard Query Operators
Anonymous Types
Los anonymous types son unfeature del .Net Framework 3.0 que permite crear tuplas ó tipos de datos...
Regístrate para leer el documento completo.