“L'expression LINQ nœud de type "Invoquer" n'est pas pris en charge dans LINQ to entities” - perplexe!

Dans mon EF plus tard, je suis en train de passer dans une fonction anonyme pour être utilisé dans le cadre de ma requête Linq. La fonction serait de passer dans un INT et retourner un BOOLÉEN (u.RelationTypeId est un INT). Ci-dessous est une version simplifiée de ma fonction:

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

Cependant, je reçois le message d'erreur indiqué ci-dessus. Il me semble que je vais tout corriger par la construction d'un prédicat à partir de la fonction. Des idées? Merci.

InformationsquelleAutor Ryan Peters | 2011-03-12