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.