MySQL에서 SQL Server로 데이터를 마이그레이션하는 동안 다음과 같은 일반적인 오류가 발생합니다. LINQ to Entities가 System.String ToString()
메서드를 인식하지 못해 데이터베이스 쿼리로 변환할 수 없습니다. 이는 일반적으로 LINQ where
절 내에서 문자열을 비교할 때 발생합니다.
해결 방법은 ToString()
의 문자열 결과를 쿼리에 사용하기 전에 임시 변수에 저장하는 것입니다. 이는 문자열을 상수로 효과적으로 처리하여 성공적인 SQL 변환을 가능하게 합니다. 방법은 다음과 같습니다.
<code class="language-csharp">var strItem = item.Key.ToString(); IQueryable<entity> pages = from p in context.pages where p.Serial == strItem select p;</code>
item.Key.ToString()
을 strItem
에 할당하면 메서드의 결과가 LINQ to Entities 변환기가 이해할 수 있는 상수 값이 됩니다.
또는 Alex가 제안한 대로(컨텍스트에 필요한 참조) SqlFunctions
도우미 클래스는 LINQ to Entities 쿼리에 대한 특수 메서드를 제공하여 잠재적으로 임시 변수의 필요성을 제거합니다. SqlFunctions
.
위 내용은 'LINQ to Entities가 'System.String ToString()' 메서드를 인식하지 못합니다.' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!