我有一个扩展方法,它执行以下操作:
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)))
我想有一个通用的方法来调用。我有哪些选择?