Magazine Internet

[EF] Raz le bol de cette histoire de Type de clôture ???

Publié le 23 décembre 2008 par Jeremy.jeanson

Voici le méssage d' insulte d' un bug connu d'Entity FrameWork (lien vers la documentation MSDN):

Impossible de créer une valeur constante de type « Type de clôture ». Seuls les types primitifs (« par exemple Int32, String et Guid ») sont pris en charge dans ce contexte.

Ce message à lieu quand on souhaite utiliser une liste d' entités provenant d'EF avec une seconde liste hors contexte EF. Bon, c'est sympathique de connaître la situation dans la quelle se produit cette erreur (d' autant plus que le message n'a pas vraiment grand chose à voir avec le problème), mais comment s' en sortir?

Tout simplement : il faut lier les données hors contexte EF, par exemple utiliser une deux clause from de suite en commençant par la clause from du contexte LinqTo Object... petit exemple pour faire simple avec une liste d' entiers et une liste de personnes présentes dans un contexte EF :

Int32[] ids;

// ...

return (
	from id in ids
    from p in ContextEf.Personnes
	where p.IdRight == id
    select p
	).ToArray();

Facile!


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte