我有一個方法來添加一個日期條件到我的linq查詢。我想要做的就是將x.Due作爲參數傳入,以便能夠使用任何日期。有任何想法嗎?我怎樣才能從這個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;
}
謝謝,喬恩這就是我所需要的。 – 2010-09-17 21:31:19