【发布时间】:2010-11-14 07:01:02
【问题描述】:
我对 linq 还很陌生,想通过扩展 IQueryable 来更深入地研究。我想创建一个查询日期范围的简单扩展方法。相当于:
IQuerable.Where(x => x.Date > fromDate && x.Date < toDate);
但在日期上有一些额外的处理。我希望能够解析一个属性来执行查询,所以方法调用将类似于:
IQueryable.WhereDateRange(x => x.Date, fromDate, toDate);
IQueryable.WhereDateRange(x => x.AnotherDate, fromDate, toDate);
我一直在研究类似下面的内容,但我不完全确定自己在做什么
public static IQueryable<T> WhereDateRange<T>(this IQueryable<T> source, Func<T, DateTime> getter, DateTime from, DateTime to) {
//query here
}
这可能吗?如果可以,我该怎么做?
【问题讨论】: