En este video te mostrare cual es la diferencia de la interface IEnumerable y la interface IQueryable al momento de utilizar LINQ.
Categoría: LINQ
LINQ en C# .Net intermedio en 10 minutos, take, skip, select, union, count
En este video veremos LINQ a nivel intermedio, haremos ejercicios prácticos con los cuales te explicare como puedes utilizar las funciones take, skip, select, union y count en tus consultas de LINQ.
Código
class Program
{
static void Main(string[] args)
{
List<Persona> lst = new List<Persona>() {
new Persona() { Edad = 40, Nombre = "Pancho" },
new Persona() { Edad = 30, Nombre = "Juan" },
new Persona() { Edad = 11, Nombre = "Mario" },
new Persona() { Edad = 18, Nombre = "Juana" },
new Persona() { Edad = 6, Nombre = "Memo" },
};
List<Persona> lstSoloTexto = new List<Persona>() {
new Persona() { Edad = 30, Nombre = "Héctor" },
new Persona() { Edad = 38, Nombre = "Fernando" },
new Persona() { Edad = 12, Nombre = "Miguel" }
};
List<string> lstOrdenadosSoloNombres = (
from a in
(from d in lst
select d )
.Union(
from d in lstSoloTexto
select d
)
orderby a.Nombre
select a.EdadYNombre
)
.ToList();
int numerodepersonas = lstOrdenadosSoloNombres.Count;
foreach (var Nombre in lstOrdenadosSoloNombres)
{
Console.WriteLine(Nombre);
}
}
public class Persona
{
public int Edad { get; set; }
public string Nombre { get; set; }
public string EdadYNombre
{
get {
return Edad + " - " + Nombre;
}
}
}
}
¿Cómo utilizar sentencias if dentro de una consulta LINQ? C# VB .Net
Para poder hacer uso de sentencias if dentro de nuestras consultas por LINQ, haremos uso de Lambda.
¿Cómo utilizar un try y catch dentro de una consulta LINQ?
A continuación con un ejemplo te muestro como es posible hacerlo:
EntityDB db= new EntityDB();
var lst = from d in db.tabla.ToList() //es importante hacerlo lista
select new TablaViewModel
{
id = d.id,
//campo es string por lo cual
//nuestra función delegada regresara igual string
campo = (new Func<string>(() => {
try {
//utilizamos if
if(d.alguncampo==1){
return "Activo";
}else{
return "Inactivo";
}
}
catch {
//si ocurre un error
return "Error";
}
}
)
)()
};
De esta manera podemos manipular la información para lograr el resultado deseado.
