LINQ básico
Las consultas LINQ constan de tres partes distintas: obtener el origen de datos, crear la consulta y ejecutar la consulta. La sintaxis de consulta y la sintaxis de método son idénticas desde el punto de vista semántico, pero muchos usuarios creen que la sintaxis de consulta es mucho más sencilla y fácil de leer. Algunos métodos deben expresarse como llamadas de método. Por ejemplo, debe usar una llamada de método para expresar una consulta que recupera el número de elementos que cumplen una condición especificada. También debe usar una llamada de método para una consulta que recupera el elemento que tiene el valor máximo de una secuencia de origen.
Aquí hay algunos ejemplos de los métodos de LINQ más comunes:
- Where: Devuelve una lista de elementos que cumplen una condición específica. Por ejemplo, para obtener una lista de números pares de una lista de números enteros, puedes usar la siguiente consulta:
var numerosPares = from n in numeros
where n % 2 == 0
select n;
- OrderBy: Ordena una lista de elementos por una propiedad específica. Por ejemplo, para ordenar una lista de objetos
Persona
por nombre, puedes usar la siguiente consulta:
var ordenadosPorNombre = from p in personas
orderby p.Nombre
select p;
- Select: Proyecta una lista de elementos en una lista de otro tipo de objeto. Por ejemplo, para obtener una lista de nombres de una lista de objetos
Persona
, puedes usar la siguiente consulta:
var nombres = from p in personas
select p.Nombre;
- GroupBy: Agrupa una lista de elementos por una propiedad específica. Por ejemplo, para agrupar una lista de objetos
Persona
por edad, puedes usar la siguiente consulta:
var agrupadosPorEdad = from p in personas
group p by p.Edad into g
select g;
- Join: Combina dos listas de elementos en una sola lista. Por ejemplo, para combinar una lista de objetos
Persona
con una lista de objetosDireccion
, puedes usar la siguiente consulta:
var personasYDirecciones = from p in personas
join d in direcciones on p.Id equals d.PersonaId
select new { Persona = p, Direccion = d };
Estos son solo algunos ejemplos de los métodos de LINQ más comunes.
https://learn.microsoft.com/es-es/dotnet/csharp/linq/query-expression-basics