Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
请参阅https://stackoverflow.com/questions/41810306/appointment-scheduling ...。
您的代码有两个问题。
首先是你如何声明你的方法:
Func<T, bool> ComposeFilter
当您这样做时,您将返回一个已编译的委托,并且Where选择的扩展方法重载是 fromEnumerable而不是Queryable.
Where
Enumerable
Queryable
您必须将其声明为:
Expression<Func<T, bool>> ComposeFilter
第二个问题是你写的代码不能转换成表达式树。由于您没有使用原语而是动态构造表达式,因此您需要了解System.Linq.Expressions.
System.Linq.Expressions