【发布时间】:2014-05-21 10:59:49
【问题描述】:
我要调用方法
query.Range(item => item.Date, filter.Date);
并有方法:
public static IQueryable<T> Range<T>(this IQueryable<T> query, Func<T, DateTime> func, DateTime range)
{
return query.Where(item=> func(item) <= range); // <<-- Error "func(item)"
}
错误: LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”。
如何使用函数?
【问题讨论】:
-
为什么不
query.Where(item => item.Date <= filter.Date)? -
你想的太复杂了,想的太简单了。
-
泛型,不能使用Date。
-
考虑将 PredicateBuilder 用于动态 where 条件。 stackoverflow.com/questions/11490893/…
-
你想达到什么目的?
标签: c# linq entity-framework