Stačí uložit řetězec do dočasné proměnné a poté ji použít ve svém výrazu:
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
Problém nastává, protože ToString()
se ve skutečnosti neprovede, změní se na MethodGroup
a poté analyzovat a přeložit do SQL. Protože neexistuje ToString()
ekvivalent, výraz selže.
Poznámka:
Nezapomeňte se také podívat na Alexova odpověď
ohledně SqlFunctions
pomocná třída, která byla přidána později. V mnoha případech může eliminovat potřebu dočasné proměnné.