2011-03-22 4 views
0

Like는 ESQL을 통해 문자열을 전달할 때 사용할 수 있지만 지금까지는 실제 연산자 나 메소드로 사용할 수 없습니다. 온 지정된 방법 '부울처럼 (선택 System.String, 선택 System.String)'EF에서 LIKE를 사용하는 간단한 방법이 있습니까?

NotSupportedException이 : 나는에 예외가, 가장 interesting있는 작업 차선책을 제안 수많은 기사를 발견했습니다 'EF4.Extensions'는 을 LINQ to Entities 저장소 표현으로 변환 할 수 없습니다.

여기에 아직 없습니까? EF 4.1이 출시되었습니다 ... 뉴스 또는 클린 옵션이 있습니까?

답변

4

EF 4.x에서 string.StartsWith, string.EndsWith 및 string.Contains는 SQL LIKE로 변환됩니다. (복수의 와일드 카드를 지원하지는 않지만 ...)

+0

내가 알고있는 것처럼 그들은 와일드 카드를 전혀 지원하지 않으므로 수동으로 코드를 시작하거나 끝내거나 코드에서 브레이칭을 포함하고 있습니까? – Maslow

1

우선, @KristoferA는 SqlClient와 관련하여 절대적으로 맞습니다.
그러나이 기능은 EF 공급자에 따라 다릅니다. 예를 들어 Oracle, MySQL, PostgreSQL 및 SQLite 용 Devart 공급자에는 EF v1 및 EF v4의 StartsWith, EndsWith 및 Contains String 메서드에 Like 호출이 포함되어 있습니다. 다른 공급자는 EF v4에서도 Like 지원을 포함 할 수 없습니다.

관련 문제