Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
25 avril 2014 5 25 /04 /avril /2014 16:20

Si vous utilisez oData avec des QueryInterceptor vous avez peut-être rencontré l'erreur suivante en utilisant un .Expand dans votre requête Linq :

"Internal .NET Framework Data Provider error 1004, 0, Related Entities cannot be specified for Entity constructors that are not part of the Query Mapping View for an Entity Set."

Laissez moi deviner. Vous utilisez .Any dans votre QueryInterceptor n'est-ce pas ? Et bien il est temps de changer cette habitude en utilisant .FirstOrDefault

Au lieu de faire :

Return Function(o) o.Utilisateurs.Any(Function(e) e.fkUserId = pkUserKey)

Faites plutôt :

Return Function(o) o.Utilisateurs.FirstOrDefault((Function(e) e.fkUserId = pkUserKey)) IsNot Nothing

Et surtout, n'utilisez pas .Count qui sera gourmand en ressources.

Partager cet article
Repost0

commentaires