Solución:
(fuente: scottgu.com)
¿Necesitas algo como esto? Utilice la biblioteca de consultas dinámicas de Linq (la descarga incluye ejemplos).
Consulte el blog de ScottGu para obtener más ejemplos.
Tengo un escenario similar en el que necesito agregar filtros según la entrada del usuario y encadeno la cláusula where.
Aquí está el código de ejemplo.
var votes = db.Votes.Where(r => r.SurveyID == surveyId);
if (fromDate != null)
{
votes = votes.Where(r => r.VoteDate.Value >= fromDate);
}
if (toDate != null)
{
votes = votes.Where(r => r.VoteDate.Value <= toDate);
}
votes = votes.Take(LimitRows).OrderByDescending(r => r.VoteDate);
También puede usar PredicateBuilder de LinqKit para encadenar múltiples expresiones lambda con seguridad de tipos usando Or o And.
http://www.albahari.com/nutshell/predicatebuilder.aspx
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)