【发布时间】:2011-11-16 22:38:12
【问题描述】:
我有一个扩展方法,它执行以下操作:
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”方法 之间(System.DateTime,System.DateTime,System.DateTime)'方法, 而且这个方法不能翻译成store表达式。
不过没关系
if (!list.Any(item => targetDate >= item.StartDate && quoteDate.EventDate <=item.EndDate)))
我想有一个通用的方法来调用。我有哪些选择?
【问题讨论】:
标签: linq datetime c#-4.0 linq-to-entities linq-expressions