Запрос SQL Server для поиска нескольких столбцов таблицы с использованием комбинации ключевых словC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Запрос SQL Server для поиска нескольких столбцов таблицы с использованием комбинации ключевых слов

Сообщение Anonymous »

Я пытаюсь построить эффективный поисковый запрос. Я использую LINQ. Требование заключается в следующем:
В приложении есть одно текстовое поле Fox, которое используется в качестве Quick Gearch . Honda Accord xl
На основе базы данных ключевых слов должна вернуть мне соответствующие строки, и здесь начинается проблема. Нет никаких ограничений на порядок, какие ключевые слова будут введены для подготовки фразы, то есть можно ввести accord xl honda или это может быть похоже на xl Accord или может быть honda . В примере honda is сделан, accord является моделью, а xl - это расширение. Но главная проблема заключается в том, что я не знаю, что они введут, и я должен изучить три разных столбца таблицы с использованием содержит оператор.
Вот то, что я попробовал. Я разделил фразу на слова и помещаю их в массив var arr = Keyword.split (new [] {''}) . Следующий шаг я строю запрос в петле этих элементов массива: < /p>

Код: Выделить всё

foreach (var k in arr)
{
var item = new Vehicle();
var arrayItem = k;
var query = DataContext.Vehicles.Where(v =>v.RealName.Contains(arrayItem)
|| v.Model.Contains(arrayItem)
|| v.Style.Contains(arrayItem)).ToList();
foreach (var v in query)
{
if(!result.Contains(v))
result.Add(v);
}
}

return result;
Теперь, когда цикл выполняет и соответствует записям для он уже заполняет список, скажем, 250 элементов. Но как я могу удалить нежелательные элементы, такие как, когда запись имеет ct как модель или tyl в качестве расширения? Если бы я знал порядок слов, в которых было создано ключевое слово, у меня будет возможность удалить непревзойденную марку, модель или расширение из списка, используя одну строку кода для каждого и вернуть конечный результат. И определенно это не эффективный способ сделать это.

Подробнее здесь: https://stackoverflow.com/questions/405 ... tion-of-ke
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»