Mysql
 sql >> база данни >  >> RDS >> Mysql

LINQ to Entities не разпознава метода 'System.String ToString()' и този метод не може да бъде преведен в израз на магазин

Просто запазете низа във временна променлива и след това я използвайте във вашия израз:

var strItem = item.Key.ToString();

IQueryable<entity> pages = from p in context.pages
                           where  p.Serial == strItem
                           select p;

Проблемът възниква, защото ToString() наистина не се изпълнява, той се превръща в MethodGroup и след това анализиран и преведен в SQL. Тъй като няма ToString() еквивалентно, изразът е неуспешен.

Забележка:

Уверете се, че сте проверили и Отговорът на Алекс относно SqlFunctions помощен клас, който беше добавен по-късно. В много случаи може да премахне необходимостта от временна променлива.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WEEKOFYEAR() Примери – MySQL

  2. MySQL PI() функция – Връщане на стойността на π (pi)

  3. MySqlCommand Command.Parameters.Add е остарял

  4. Каква е разликата между обединения, разделени със запетая, и присъединяване по синтаксис в MySQL?

  5. Научете как да импортирате данни от Excel в база данни на MySQL