Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

LINQ to Entities không nhận dạng được phương thức 'System.String ToString ()' của phương thức và phương thức này không thể được dịch thành một biểu thức lưu trữ

Chỉ cần lưu chuỗi vào một biến tạm thời và sau đó sử dụng nó trong biểu thức của bạn:

var strItem = item.Key.ToString();

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

Sự cố phát sinh vì ToString() không thực sự được thực thi, nó được biến thành Nhóm phương pháp và sau đó được phân tích cú pháp và dịch sang SQL. Vì không có ToString() tương đương, biểu thức không thành công.

Lưu ý:

Đảm bảo bạn cũng xem Câu trả lời của Alex liên quan đến SqlFunctions lớp trợ giúp đã được thêm vào sau đó. Trong nhiều trường hợp, nó có thể loại bỏ sự cần thiết của biến tạm thời.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm giá trị thường xuyên nhất trong cột SQL

  2. Làm cách nào để xóa tất cả các ký tự số không phải chữ cái khỏi một chuỗi trong MySQL?

  3. ADDDATE () Ví dụ - MySQL

  4. Làm cách nào để tạo một chỉ mục vào phần ngày của trường DATETIME trong MySql

  5. Lấy id của hàng đã chèn bằng C #