我有一个扩展方法,它可以执行以下操作:
public static bool Between(this DateTime target, DateTime startDate, DateTime endDate)
{
return target >= startDate && target <= endDate;
}
我可以这样调用它:
if (expectedDate.Between(minDate, maxDate)) { do code }
我现在正在尝试在Linq/Lambda表达式中使用它,例如
return list.Where(item => targetDate.Between(item.StartDate, item.EndDate));
OR if (!list.Any(pp => targetDate.Between(pp.StartDate, pp.EndDate)))
在运行时,我遇到了以下错误:
LINQ to Entities不识别方法'Boolean Between(System.DateTime, System.DateTime, System.DateTime)',无法将此方法转换为存储表达式。
但这没关系。
if (!list.Any(item => targetDate >= item.StartDate && quoteDate.EventDate <=item.EndDate)))
我希望有一个通用的调用方法,我有哪些选择?