hola, no soy muy experto en el tema de linq, pero la logica no deberia ser (en 
pseudocodigo)
(año > 2009 or (año = 2009 and mes = 12) para la primer asignacion de tu lista
y a esa asignacion donde ya vas a tener las fechas desde 12/2009 en adelante
(año < 2010 or (año = 2010 and mes <= 12)
Esto traeria todas las fechas entre 1/12/09 y 1/12/10 no?
yo generalmente lo uso así...repito...hablo solo de la lógica, despues hay que 
implementarlo mediante linq.
Saludos.


Date: Wed, 16 Dec 2009 14:31:17 -0800
From: [email protected]
Subject: [puntonet] Linq - problema con filtro
To: [email protected]



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/                                         
_________________________________________________________________
Windows Live Messenger GRATIS: lo que faltaba en tu BlackBerry
http://www.messengerentublackberry.com?ocid=WL_BB_LandPage_TagLine

Responder a