Introducción a LINQ

Base de datos | November 10th

LINQ significa Language-INtegrated Query, Consulta integrada en los lenguajes. Esto quiere decir que es una extensión de C# y Visual Basic.

Antes de LINQ era necesario conocer tres herramientas: C#, SQL y el API de ADO .NET lo cual suele ser molesto. Con LINQ esta tarea se hace más sencilla.

Al programar con un lenguaje orientado a objetos es interesante hacer una consulta en la base de datos y cargar los resultados en objetos. LINQ soluciona el problema de mapeo relacional de objetos y simplifica la interacción entre objetos y las fuentes de datos.

Hola LINQ

Veamos dos ejemplos básicos en C# con Mono-Project. En el primer ejemplo consultamos una lista de palabras en un objeto llamado saludo que muestra el tradicional mensaje Hola Mundo!. El segundo ejemplo mostramos como crear una consulta que selecciona las palabras con un máximo de cinco caracteres, las ordena de forma ascendente y las enlista en la consola.

Primeramente debemos importar la librería Ling de la siguiente manera:

using System.Linq;

Ejemplo 1

using System;
using System.Linq;

namespace EjemploLinq
{
	class HolaLinq
	{
		[STAThread]
		public static void Main()
		{
			string[] palabras = {"Hola", "mundo", "!"};

			var saludo = from palabra in palabras select palabra;

			foreach (var palabra in saludo)
				Console.Write(palabra + " ");

			Console.WriteLine();
		}
	}
}
$ smcs HelloLinq.cs
$ mono HelloLinq.exe
Hola mundo !

Ejemplo 2

using System;
using System.Linq;

namespace EjemploLinq
{
	class HolaLinq2
	{
		[STAThread]
		public static void Main()
		{
			string[] palabras = {"programación", "linux", "unix", "mac os x",
						"concurrencia", "abstracción", "mono", "blog",
						"polmorfismo", "herencia", "código", "gnu"};

			var lista = from palabra in palabras
			where palabra.Length <= 5
			orderby palabra ascending
			select palabra;

			foreach (var palabra in lista)
				Console.WriteLine(palabra);
		}
	}
}
$ smcs HelloLinq2.cs
$ mono HelloLinq2.exe
blog
gnu
linux
mono
unix

Deja tu comentario