Spara bara strängen till en tempvariabel och använd den sedan i ditt uttryck:
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
Problemet uppstår eftersom ToString()
inte riktigt körs, den förvandlas till en Metodgrupp
och sedan tolkat och översatt till SQL. Eftersom det inte finns någon ToString()
motsvarande, uttrycket misslyckas.
Obs!
Se till att du också kolla in Alex svar
angående SqlFunctions
hjälparklass som lades till senare. I många fall kan det eliminera behovet av den temporära variabeln.