2014-03-05 2 views
1

SQL Server 2008 R2에서 이름에 아포스트로피가있는 연락처가 있습니다.사용자가 "OConnors"를 검색하는 경우 "Niall O'Connors"및 "Niall OConnors"를 얻는 방법은 무엇입니까?

ASP.NET MVC 3 + Entity Framework 5 응용 프로그램에서 사용자가 "OConnors"를 검색하는 경우 다른 OConnors와 함께 "O'Connors"를 표시하고 싶습니다.

위의 코드는 사용자가 "오코너"를 검색하는 경우에만 "Niall O'Connors"를 선택합니다.

나는

char[] charsToTrim = { '\'' }; 

predicate = predicate.And(p => p.FirstName.Trim(charsToTrim).Contains(firstName)); 

을 시도했지만이 오류가있어 : 는 "엔티티에 LINQ는 방법 '선택 System.String 트림 (숯불 [])'방법을 인식하지 않으며,이 방법으로 번역 될 수 없습니다 가게 식. "

(SoundCode는 이름의 변화를 보여주는 데 사용됩니다.)

답변

1

당신은 대체 방법에 Trim(char[]) 변경해야합니다 :

predicate = predicate.And(p => p.FirstName.Replace("'", "").Contains(firstName)); 

이 방법을 바꾸기를 SQL로 해결 될 수있는 트림 (숯불 [동안 ]) 할 수 없습니다.

+0

이것은 나를 위해 일했습니다. Bruno에게 감사드립니다. –