Это мой первый заданный вопрос, и я не могу найти ответ, поэтому извиняюсь, если я его где-то пропустил.
В настоящее время я создаю функцию поиска в HR Portal, который я разрабатываю (ASP. NET MVC), и, хотя мне удалось настроить его для запроса к созданной мной SQL базе данных сервера, в настоящее время он работает используя запрос LIKE
, например:
public List<Detail> Search(List<string> Information)
{
StringBuilder Buildsql = new StringBuilder();
Buildsql.Append("select * from UH_QA.dbo.Answers where ");
foreach (string value in Information)
{
Buildsql.AppendFormat("(Question like '%{0}%') and ", value);
}
string datasql = Buildsql.ToString(0, Buildsql.Length - 5);
return QueryList(datasql);
}
Но чтобы убедиться, что функция поиска защищена от дурака, я хочу использовать такой запрос:
SELECT *
FROM UH_QA.dbo.Answers
WHERE CONTAINS(Question, '"Where" OR "do" OR "I" OR "put" OR "my" OR "phone"')
Любой совет о том, как я мог бы go об изменении того, что у меня уже есть, чтобы разделить введенную пользователем строку и затем вставить отдельные слова в запрос?
Мои мысли, где использовать value.Split(' ')
, чтобы разбить строку по пробелам, но я открыт для предложений.