Agosto 21, 2008 :: Posted by - Emilio Torrens :: Category -
LINQ
Estamos súper liados con proyectos nuevos, de ultima hora y para anteayer, asà que nos queda poco tiempo para escribir … pero hace mucho tiempo que tengo pendiente este POST, asà que ..
Estoy empezando a usar linq to objects para trabajar con mis colecciones de objetos y la verdad es que es alucinante, se simplifica tanto el código, tenéis que probarlo, engancha …

Voy a dejar unos ejemplos de código que estoy usando en los proyectos en marcha.
Aquà tenia un método que tenia que buscar en mi colección por unos valores y si no encontraba esos valores buscar por el mas cercano superior, eso en LINQ se queda en esta lÃnea:
var t = from t1 in Lista
where
1.CodigoHabitacionLineaTarifaCliente == CodHabitacion
&&
t1.CodigoRegimenLineaTarifaCliente == CodigoRegimen
&&
t1.CodigoTarifaLineaTarifaCliene == CodigoTarifa
&&
t1.AdultosLineaTarifaCliente >= AD
&&
t1.NinosLineaTarifaCliente >= CH
&&
t1.CunasLineaTarifaCliente >= EN
orderby
t1.AdultosLineaTarifaCliente,
t1.NinosLineaTarifaCliente,
t1.CunasLineaTarifaCliente ascending
select t1;
Aquà una búsqueda normal de toda la vida
var t = from t1 in Lista
where
t1.CodigoHabitacionLineaTarifaCliente == CodHabitacion
&&
t1.CodigoRegimenLineaTarifaCliente == CodigoRegimen
&&
t1.CodigoTarifaLineaTarifaCliene == CodigoTarifa
select t1;
if (t.Count() == 0)
throw new Exception(NDatos);
Y lo mejor, usar sum y group by en nuestras colecciones,
aqui agrupando y sumando precios x dÃa
var GroupedPrices = from pd in b.PriceDetails group pd by pd.Day into g
select new {Day = g.Key, TotalPriceDay = g.Sum(v1 => v1.Amount)};
Cuando empeceis a usarlo no podreis vivir sin el