Entity Framework의 연산자와 비슷합니까?

.net entity-framework linq-to-entities sql-server

문제

문자열 필드가있는 엔터티에 대해 Entity Framework에서 "LIKE"연산자를 구현하려고하지만 지원되지 않는 것 같습니다. 다른 사람이 이런 식으로하려고 했습니까?

블로그 게시물 은 우리가 겪고있는 문제점을 요약합니다. 우리는 contains를 사용할 수 있지만 LIKE에 대한 가장 간단한 경우에만 일치합니다. contains, startswith, endswith 및 indexof를 결합하면 표준 와일드 카드와 Linq에서 Entities 코드로의 변환이 필요합니다.

수락 된 답변

지금은 오래된 게시물이지만 답변을 찾는 사람에게는 이 링크 가 도움이됩니다.

짧은 버전 :

SqlFunctions.PatIndex 메서드 - 지정된 식에서 패턴이 처음 나타나는 위치의 시작 위치를 반환하거나 유효한 모든 텍스트 및 문자 데이터 형식에서 패턴을 찾을 수없는 경우 0을 반환합니다.

네임 스페이스 : System.Data.Objects.SqlClient 어셈블리 : System.Data.Entity (System.Data.Entity.dll)

약간의 설명이이 포럼 스레드 에도 나타납니다.


인기 답변

정말 EF에 대해서는 아무것도 모르지만 LINQ to SQL에서는 보통 String.Contains를 사용하여 LIKE 절을 표현합니다.

where entity.Name.Contains("xyz")

번역하다

WHERE Name LIKE '%xyz%'

다른 동작은 StartsWithEndsWith 를 사용하십시오.

그게 도움이되는지 아닌지 나는 잘 모르겠다. 왜냐하면 네가 LIKE를 구현 하려고 할 때 당신이 의미하는 바를 이해하지 못하기 때문이다. 내가 완전히 오해 한 적이 있다면 알려주세요. 나는이 대답을 지울 것입니다 :)



Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow