J'ai une méthode pour ajouter une condition de date à ma requête linq. Ce que je veux faire, c'est passer x.Due en paramètre pour que cela fonctionne avec n'importe quelle date. Des idées?Comment puis-je extraire le chemin membre de cette expression lambda
protected virtual IQueryable<TaskView> AddTaskDuePredicate(DateCriteria dateCriterion, IQueryable<TaskView> taskSummary)
{
if (dateCriterion.Condition == DateCondition.LessThan)
taskSummary = taskSummary.Where(x => x.Due < dateCriterion.Value1);
else if (dateCriterion.Condition == DateCondition.LessThanOrEqualTo)
taskSummary = taskSummary.Where(x => x.Due <= dateCriterion.Value1);
else if (dateCriterion.Condition == DateCondition.GreaterThan)
taskSummary = taskSummary.Where(x => x.Due > dateCriterion.Value1);
else if (dateCriterion.Condition == DateCondition.GreaterThanOrEqualTo)
taskSummary = taskSummary.Where(x => x.Due >= dateCriterion.Value1);
else if (dateCriterion.Condition == DateCondition.EqualTo)
taskSummary = taskSummary.Where(x => x.Due == dateCriterion.Value1);
else if (dateCriterion.Condition == DateCondition.Between)
taskSummary = taskSummary.Where(x => x.Due <= dateCriterion.Value1 && x.Due >= dateCriterion.Value2);
return taskSummary;
}
Merci, Jon qui est ce que je avais besoin. –