По этой теме уже было несколько вопросов (например, Expression.Invoke в Entity Framework? ), однако я не смог найти ответ для своей конкретной ситуации.Я хотел бы определить метод следующим образом:
public IQueryable<Customer> GetCustomers(Expression<Func<Customer, bool>> condition)
{
return from p in ctx.Customers.AsExpandable()
where condition.Compile()(p)
select p;
}
Метод AsExpandable от LinqKit (как это было рекомендовано в упомянутом ранее потоке).Тем не менее, когда я пытаюсь вызвать мой метод, как его:
var customers = GetCustomers(c => c.ID == 1);
Выдает InvalidCastException:
Невозможно привести объект типа 'System.Linq.Expressions.InstanceMethodCallExpressionN'набрать 'System.Linq.Expressions.LambdaExpression'.Что я делаю не так?