En este caso el problema no es linq. El problema esta en la condicion. Si pedis (projection.ProjectionYear >= 2009 && projection.ProjectionMonth >= 12) //llamemos a esto a || (projection.ProjectionYear <= 2010 && projection.ProjectionMonth <= 12) //llamemos a esto b
a devuelve solo el mes 12 de 2009 y años siguientes, ya que no hay ningun mes mayor a 12.... b devuelve los meses desde el mes 12 de 2010 para abajo --> si no hay cargados años mayores a 2010 da la sensacion de no filtrar nada si filtras por a y luego por b, es equivalente a hacer una interseccion: a interseccion b --> el resultado es: por a los meses 12 del 2009 y años siguientes. por b, meses anteriores o iguales al 12 de 2010. La interseccion es el mes 12 del 2009 y 12 de 2010 El 17 de diciembre de 2009 08:45, Leonardo Micheloni < leonardogabrielmichel...@gmail.com> escribió: > Probaste clavarle un Reflector a ver el delegado que genera?? en una > de esas te da más pistas....bue, yo haría eso :) > > 2009/12/16 Leandro Tuttini <ltuttini_lis...@yahoo.com.ar>: > > hola > > > > les planteo una situacion algo extraña, que la verdad no entiendo porque > no > > funciona no parece muy compleja la situacion > > resulta que tengo un lista de proyecciones de desembolso de prestamos y > la > > idea es filtrar por año-mes de inicio y fin > > > > al principio la idea era ahcer algo como esto: > > > > List<Projection> projectionSubset; > > > > projectionSubset = (from projection in > > ProjectionsService.GetAll() > > where (((projection.ProjectionYear >= > 2009) > > && (projection.ProjectionMonth >= 12)) > > || ((projection.ProjectionYear <= > > 2010) && (projection.ProjectionMonth <= 12))) > > select projection).ToList<Projection>(); > > > > pero note que esto no me filtraba correctamente, es mas no filtraba nada > > directamente > > > > luego intente con esta otra forma > > > > List<Projection> projectionSubset; > > > > projectionSubset = (from projection in > > ProjectionsService.GetAll() > > where (projection.ProjectionYear >= 2009) > > && (projection.ProjectionMonth >= 12) > > select projection).ToList<Projection>(); > > > > projectionSubset = (from projection in projectionSubset > > where (projection.ProjectionYear <= 2010) > > && (projection.ProjectionMonth <= 12) > > select projection).ToList<Projection>(); > > > > pero resulto que solo devolvia las proyecciones del año 2009 y mes 12 > > y la del 2010 año 12 pero solo estos dos meses el resto los descarta > > > > sera un tema que el >= y <= en linq no funciona como deberia ? > > me suena extraño > > > > pero bueno notan que estoy haciando algo incorrecto? > > > > la idea es devolver todas la proyecciones entre estos rango de año-mes > > > > gracias > > saludos > > > > ________________________________ > > Encontra las mejores recetas con Yahoo! Cocina. > > http://ar.mujer.yahoo.com/cocina/ > >