LINQ

Enlaces

 

(LINQ) Language INtegrated Query: Lenguaje para expresar operaciones de consulta en el propio lenguaje de programación (C# por ejemplo). La utilización de LINQ hará que nuestros programas únicamente contengan código .NET haciendonos olvidar el SQL incrustrado o los procedimientos almacenados.

Recursos del lenguaje compatibles con LINQ

LINQ es una combinación de extensiones al lenguaje y bibliotecas de código administrado que permite expresar de manera uniforme consultas sobre colecciones de datos de diversas procedencia utilizando recursos.

Operadores de consulta

  • Select (select).
  • SelectMany (utilizar varias cláusulas from).
  • Where (where).
  • OrderBy (orderby)
  • Join (join … in … on … equals …)
  • GroupBy (group … by). Objeto IGrouping <Tkey,T>
  • Count.
  • Max.
  • Min.
  • Sum.
  • TakeWhile. Devuelve los elementos de una colección mientras que el valor de la condición especificada sea true.

Interfaz

  • IEnumerable<T>
  • IQueryable<T>

Ejemplos de consultas

int[] numeros = {6,7,11,9,8,5,4,1,3,2};
int numerosPares = numeros.Count(n=>n%2 ==0); // resultado 4
var primerosNumsMenoresQue9 = numeros.TakeWhile((int n)=>n<9); // genera una matriz con los números 6 y 7 ya que el 11 es el primer número que no cumple la condición.
var numsImparesOrdenados1 = from n in numeros where (n%2 != 0) orderby n select n;
// La misma consulta anterior utilizando métodos sería:
var numsImparesOrdenados2 = numeros.Where(n => n%2!=0).OrderBy(n =>n).Select (n=>n);

Tutorial MSDN

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.