'System.String ToString()' LINQ to Entities 예외 문제 해결
MySQL에서 SQL Server로 데이터베이스를 마이그레이션하는 동안 LINQ to Entities를 사용하면 다음 오류가 발생할 수 있습니다.
<code>LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.</code>
이는 LINQ to Entities에 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>
ToString()
을 미리 수행하면 데이터베이스 쿼리 외부의 메모리에서 변환이 발생합니다.
추가 고려 사항:
SqlFunctions
도우미 클래스를 사용하는 것이 좋습니다.ToString()
이 중복되는 경우가 있습니다. 오류를 완전히 제거하면 직접 비교만으로 충분할 수 있습니다.위 내용은 MySQL에서 SQL Server로 마이그레이션하는 동안 LINQ to Entities에서 'System.String ToString()' 예외가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!