Просто запазете низа във временна променлива и след това я използвайте във вашия израз:
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
Проблемът възниква, защото ToString()
наистина не се изпълнява, той се превръща в MethodGroup
и след това анализиран и преведен в SQL. Тъй като няма ToString()
еквивалентно, изразът е неуспешен.
Забележка:
Уверете се, че сте проверили и Отговорът на Алекс
относно SqlFunctions
помощен клас, който беше добавен по-късно. В много случаи може да премахне необходимостта от временна променлива.