Лучший отвечающий
Как правильно организовать поиск по ТЭГАМ

Вопрос
-
есть база SQL AZure
допустим есть таблица
[id],
[names] (nvarchar), // здесь Наименование книги
хочу реализовать поиск не по названию а по содержанию книги
добавляю поля по ключевым словам
[tag1],
[tag2],
[tag3],
[tag4],
[tag5] и т.д.
допустим ключевых слов 10
Нужен запрос LINQ EF
допустим я ищу в столбце tag1 подходящее имя, - один запрос
а tag1...10. Это что получается мне 10 разных запросов писать на поиск в 10 полях?
Или поиск по ключевым словам как то по-другому решается?
20 ноября 2012 г. 20:28
Ответы
-
на чистом t-sql это можно решить через один запрос в виде
where ( @tag1 is null or [tag1] = @tag1 ) and ( @tag2 is null or [tag2] = @tag2 )
и т.д.
http://www.t-sql.ru
- Помечено в качестве ответа developers_s 21 ноября 2012 г. 5:49
21 ноября 2012 г. 3:44Модератор -
Примерно так будет:
IEnumerable<String> result = MyDbContext.MyTable.Where(t=> t.Tag1.Contains("keyword") | ...| t.Tag10.Contains("keyword)").ToList();
- Помечено в качестве ответа developers_s 21 ноября 2012 г. 5:49
21 ноября 2012 г. 5:30Модератор
Все ответы
-
на чистом t-sql это можно решить через один запрос в виде
where ( @tag1 is null or [tag1] = @tag1 ) and ( @tag2 is null or [tag2] = @tag2 )
и т.д.
http://www.t-sql.ru
- Помечено в качестве ответа developers_s 21 ноября 2012 г. 5:49
21 ноября 2012 г. 3:44Модератор -
Примерно так будет:
IEnumerable<String> result = MyDbContext.MyTable.Where(t=> t.Tag1.Contains("keyword") | ...| t.Tag10.Contains("keyword)").ToList();
- Помечено в качестве ответа developers_s 21 ноября 2012 г. 5:49
21 ноября 2012 г. 5:30Модератор