У меня возникли проблемы с поиском способов обработки нескольких слов при поиске пользователя. Пример: Поиск: "Синяя коробка" должна быть в состоянии найти: "Один box is синий". Как мне это сделать? Это в основном, как мой контроллер выглядит ата:.ASP: NET MVC несколько слов в поиске
public ActionResult Index(string searchString)
{
var posts = from s in _context.Posts
select s;
var postIndexViewModel = new PostIndexViewModel();
if (!String.IsNullOrEmpty(searchString))
{
posts = posts.Where(s => s.Title.Contains(searchString));
}
// More code here
return View(postIndexViewModel);
}
Сначала используйте поискString.Split (''), чтобы разбить searchstring на массив, а затем посмотрите здесь: http://stackoverflow.com/questions/2912476/using-c-sharp-to-check-if-string- contains-a-string-in-string-array – Stephen
'split' searchString, используя пробел. Затем используйте 'Array.Any()', как показано здесь: http://stackoverflow.com/questions/1757214/linq-entity-string-field-contains-any-of-an-array-of-strings – ramiramilu
Проверьте эту ссылку http://stackoverflow.com/questions/11560921/linq-query-to-match-multiple-words – Tonny