Applying an Expression<> to a LINQ Where clause
问题 I'm writing a custom Entity Framework filter. I have a list of IDs, and a user-supplied expression. protected IEnumerable<TColumn> FilterIds; protected Expression<Func<T, IEnumerable<TColumn>, bool>> Filter; Now my question is how do I apply the Filter expression to a Where() clause? public virtual IQueryable<T> ApplyFilter(IQueryable<T> query) { if (FilterMode == FilterModeMatchAny && HasFilterIds) { // Whoops! Can't do this! return query.Where(x => Filter(x, FilterIds)); } return query; 回答1