Speichern Sie einfach die Zeichenfolge in einer temporären Variablen und verwenden Sie diese dann in Ihrem Ausdruck:
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
Das Problem entsteht, weil ToString()
nicht wirklich ausgeführt wird, wird es in einen umgewandelt Methodengruppe
und dann analysiert und in SQL übersetzt. Da es kein ToString()
gibt entspricht, schlägt der Ausdruck fehl.
Hinweis:
Sehen Sie sich auch Antwort von Alex
bezüglich der SqlFunctions
Helferklasse, die später hinzugefügt wurde. In vielen Fällen kann es die temporäre Variable überflüssig machen.