"El tipo de nodo de expresión LINQ 'Invocar' no es compatible con LINQ to Entities" - ¡perplejo!

En mi EF más tarde, estoy tratando de pasar una función anónima para usar como parte de mi consulta Linq. La función pasaría un INT y devolvería un BOOL (u.RelationTypeId es un INT). A continuación se muestra una versión simplificada de mi función:

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();
    }
}

Sin embargo, me sale el error indicado anteriormente. Parece que voy todo correcto al construir un predicado a partir de la función. ¿Algunas ideas? Gracias