“O tipo de nó de expressão LINQ 'Invoke' não é suportado no LINQ to Entities” - perplexo!

No meu EF, mais tarde, estou tentando passar uma função anônima para ser usada como parte da minha consulta Linq. A função passaria em um INT e retornaria um BOOL (u.RelationTypeId é um INT). Abaixo está uma versão simplificada da minha função:

public IEnumerable<UserBandRelation> GetBandRelationsByUser(Func<int, bool> relation)
{
    using (var ctx = new OpenGroovesEntities())
    {
        Expression<Func<UsersBand, bool>> predicate = (u) => relation(u.RelationTypeId);

        var relations = ctx.UsersBands.Where(predicate);

        // mapping, other stuff, back to business layer
        return relations.ToList();
    }
}

No entanto, recebo o erro indicado acima. Parece que estou acertando tudo criando um predicado a partir da função. Alguma ideia? Obrigado

questionAnswers(4)

yourAnswerToTheQuestion