2013-07-18 5 views
0

코드 : 위의 코드에서일치하는 예상 검색 결과를 얻는 방법?

public List<SearchResult> GetRecordsByTerm(string term) 
     { 
      return 
       _dataReadService.GetRecords() 
             .Where(x => x.FirstName.Contains(term) || term.Contains(x.FirstName) 
                || x.LastName.Contains(term) || term.Contains(x.LastName) 
                || x.EmailAddress.Contains(term) || term.Contains(x.EmailAddress)) 
                .Select(x => new SearchResult() 
                { 
                 DetailedName = (x.FirstName ?? String.Empty) + " " + (x.LastName ?? String.Empty) + (x.Title != null && x.Title != String.Empty ? ", " : String.Empty) + (x.Title ?? String.Empty) + " (" + (x.Office ?? String.Empty) + ")", 
                 Email = x.EmailAddress 
                }) 
             .OrderBy(x => x.DetailedName) 
             .ToList(); 
     } 

, 내가 같은 용어를 통과하고있는 경우 다음과 같이 "baske"나는이 두 개의 검색 결과를 얻는 :

1, "bas ge" 
2, "basket" 

"bas ge"안 이 검색 결과를 얻지 만 그 결과를 얻고 있습니다. 위의 코드를 재정의하는 방법, 그래서 정확히 일치하는 단어를 얻을 필요가?

답변

0

"bas"가 이름이면 term.Contains (x.FirstName)가 true가됩니다. 그것은 이상한 일처럼 보입니다.

관련 문제