0

请参阅https://stackoverflow.com/questions/41810306/appointment-scheduling ...。

4

1 回答 1

1

您的代码有两个问题。

首先是你如何声明你的方法:

Func<T, bool> ComposeFilter

当您这样做时,您将返回一个已编译的委托,并且Where选择的扩展方法重载是 fromEnumerable而不是Queryable.

您必须将其声明为:

Expression<Func<T, bool>> ComposeFilter

第二个问题是你写的代码不能转换成表达式树。由于您没有使用原语而是动态构造表达式,因此您需要了解System.Linq.Expressions.

于 2012-08-26T02:58:37.480 回答