Поиск и сравнение входной строки из приложения .Net Core с несколькими столбцами SQL

Вряд ли вы можете безопасно изменить загруженную банку. Изменение его во время его использования не является хорошей идеей.

Если вы хотите это сделать, используйте простой файловый системный каталог и добавьте / удалите из него файлы. Даже это может не работать так, как вы ожидаете.

0
задан Tori 5 March 2019 в 17:56
поделиться

2 ответа

Если у вас много условий, вы можете переместить код в метод, чтобы улучшить читаемость / повторное использование:

albums = _albumRepository.Albums.Where(p => p.Match(searchString))

Затем создайте метод расширения для типа p ([113 ] или просто добавьте это к самому классу, если в вашем проекте будет больше смысла.

public static class AlbumsExtensions
{
    public static bool Match(this Album album, string search)
    {

        // whatever complex logic you have stays here

        var search = searchString.ToLower();

        var result = p.Name.ToLower().Contains(search) ||
                     p.Artist.ToLower().Contains(search) ||
                     p.Genre.ToLower().Contains(search);

        return result ;
    }
}

И последнее, но не менее важное: обратите внимание, что сравнение строк не является тривиальным, если вы поддерживаете Unicode и несколько языков.

Для получения дополнительной информации взгляните на (например): Без учета регистра «Содержит (строка)»

0
ответ дан Vetras 5 March 2019 в 17:56
поделиться

Сложно ответить, учитывая, что мы не можем видеть ваши фактические модели здесь, но, вообще говоря, вам просто нужно использовать логический оператор ИЛИ:

albums = _albumRepository.Albums.Where(p =>
    p.Name.ToLower().Contains(_searchString.ToLower()) ||
    p.Artist.ToLower().Contains(_searchString.ToLower()) ||
    p.Genre.ToLower().Contains(_searchString.ToLower())
);

Если [ 111] / Genre на самом деле являются опорными опорами, вы просто углубитесь в них, то есть p.Artist.Name.ToLower().Contains(...) и т. Д.

0
ответ дан Chris Pratt 5 March 2019 в 17:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: