Enregistrez simplement la chaîne dans une variable temporaire, puis utilisez-la dans votre expression :
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
Le problème se pose car ToString()
n'est pas vraiment exécuté, il est transformé en un GroupeMéthode
puis analysé et traduit en SQL. Puisqu'il n'y a pas de ToString()
équivalent, l'expression échoue.
Remarque :
Assurez-vous également de vérifier Réponse d'Alex
concernant les SqlFunctions
classe d'assistance qui a été ajoutée plus tard. Dans de nombreux cas, cela peut éliminer le besoin de la variable temporaire.