powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Поиск вхождений в строке
7 сообщений из 7, страница 1 из 1
Поиск вхождений в строке
    #38941081
Miles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги такой затык, как в EF переделать код чтобы поиск происходил не по конечному числу слов в search_words


Код: c#
1.
2.
3.
4.
5.
 string[] search_words = "aa bb".Split(' ');

                   var grid_Files = from dsp in db.vFiles
                                     where dsp.flName.Contains(sf.search_word[0]) | dsp.flTags.Contains(sf.search_word[1])
                                     select dsp;
...
Рейтинг: 0 / 0
Поиск вхождений в строке
    #38941260
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е вы хотите искать по любому кол-ву слов и поиск с Like?
...
Рейтинг: 0 / 0
Поиск вхождений в строке
    #38941283
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miles,

тынц
...
Рейтинг: 0 / 0
Поиск вхождений в строке
    #38941374
Miles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRuт.е вы хотите искать по любому кол-ву слов и поиск с Like?

Да
...
Рейтинг: 0 / 0
Поиск вхождений в строке
    #38941376
Miles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotikMiles,

тынц

Это не совсем то. Проблем с поиском слова в слово не возникает. А вот в виде подстроки не получается
...
Рейтинг: 0 / 0
Поиск вхождений в строке
    #38941414
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miles,

ну тогда в вашем случае надо сделать вот так, предварительно изменив работу склеивания между where с and на or ( можно тут это глянуть )
Код: c#
1.
2.
foreach(var item  in search_words)
query = query.where(x=> x.flName.Contains(item) )



имхо вы убьете всю скорость, да и запрос кажется странным. возможно вам стоит поглядеть в сторону lucene, для поиска по строке.
...
Рейтинг: 0 / 0
Поиск вхождений в строке
    #38941434
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miles,
Можно собрать свой Expression
или как то так.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
string[] search_words = "aa bb".Split(' ');

            var grid_Files = from dsp in db.vFiles
                             where dsp.flName.Contains(sf.search_word[0]) 
                             select dsp;
            foreach (var x in search_words.Skip(1))
            {
                grid_Files = grid_Files.Union(db.vFiles.Where(y => y.flName.Contains(x)));
            }
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Поиск вхождений в строке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]