webservice 및 Linq To Sql을 사용하여 데이터베이스에 액세스하는 자동 완성 검색을 수행하려고합니다.Linq to SQL 검색 여러 열 및 여러 단어
여기 내 코드입니다. 이렇게하면 모든 검색어와 일치하는 결과가 표시되므로 각 결과에 모든 검색어가 포함되도록 수정하고 싶습니다.
나는 SQL 전체 텍스트 검색이 아마도 가장 우아한 해결책이라는 것을 알고 있지만이 기능이 데이터베이스를 수정하지 않고 가능한지 알고 싶습니다.
string[] searchTerms = searchString.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries).ToArray();
IQueryable<AccountResult> results = db.cdAccounts
.Select(x =>
new AccountResult()
{
idAccount = x.id_Account,
AccountName = x.AccountNme,
AccountNumber = x.AccountNum
}).Distinct().OrderBy(x => x.AccountName);
foreach (string searchTerm in searchTerms)
results = results.Where(x => x.AccountName.Contains(searchTerm) || x.AccountNumber.Contains(searchTerm));
return results.OrderBy(x => x.AccountName).Take(40).ToList();
내가 이상적인 솔루션이라고 생각했는데 이제는 방법에 대한 첫 번째 검색어 기간이 지난 후에 Linq로 검색하고 검색 용어가 두 개 이상인 경우 db 및 필터의 초기 결과를 사용합니다. 두 번째, 세 번째 등의 용어와 일치하지 않는 결과 조금 추한, 그러나 충분히 빠르다. 아직 제안이 없습니다. – KClough