Professional Documents
Culture Documents
Docente
Ing. Kirio Marvin Ventura
¿Que es LINQ?
LINQ o Language INtegrated Query es una de las novedades más importantes de
Microsoft .NET Framework 3.5 y que afecta por lo tanto a Visual Studio 2010 y con ello
los lenguajes usados, entre los que está el que usaremos que es Visual C# 2010.
Estos extensores son LINQ to DataSet, también conocido como LINQ sobre
conjunto de datos, LINQ to SQL para trabajar con bases de datos SQL Server y
LINQ to Entities para trabajar con entidades, o lo que es lo mismo, con
cualquier fuente de datos, no solo con SQL Server.
LINQ to Objects
• Con LINQ to Objects trabajaremos con objetos,
matrices y colecciones de datos que están en memoria,
desde nuestras aplicaciones escritas en Visual C#.
2. Creación de la consulta.
3. Ejecución de la consulta.
Como utilizar LINQ to Objects
En este primer ejemplo se muestra cómo se expresan las tres partes de una
operación de consulta en el código fuente. Este mismo concepto se aplica a
otros orígenes de datos.
class IntroDeLINQ
{
static void Main()
{
// Las 3 Partes de una consulta LINQ:
// 1. Origen de Datos.
int[] numeros = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 2. Creación de la Consulta.
// numQuery es un IEnumerable<int>
var numQuery =
from num in numeros
where (num % 2) == 0
select num;
// 3. Ejecución de la consulta.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
}
}
Como utilizar LINQ to Objects
En la siguiente ilustración se muestra la operación de consulta completa. En LINQ,
la ejecución de la consulta es distinta de la propia consulta; en otras palabras, no
se recuperan datos con la simple creación de la variable de consulta.
Como utilizar LINQ to Objects
En este otro ejemplo, se muestra cómo trabajar usando una matriz de datos. Es un
sencillo ejemplo que nos permite comprender mejor como funciona LINQ to Objects.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{ // Declaramos la matriz y la inicializamos con valores
string[] material = {"mesa","reloj", "libro", "pluma", "borrador", "pelota", "botella"};
// Ejecutamos LINQ para obtener los datos buscados, concretamente los materiales que empiezan por "b"
var materialBuscado = from busqueda in material
where busqueda.StartsWith("b")
select busqueda;
string resultado = "";
foreach (var elementos in materialBuscado)
{
resultado += elementos + "\r\n";
} // Mostramos la información
MessageBox.Show(resultado);
}
}
LINQ to XML
• Con LINQ to XML trabajaremos con documentos
XML desde nuestras aplicaciones escritas en Visual C#
2010.