У меня есть страница поиска, где пользователь может ввести несколько городов, разделенных запятой, и нам нужно получить все объекты недвижимости, где указан город, указанный в критериях поиска. Например, пользователь введет что-то вроде этого
города = Даллас, Остин
У меня нормально работает запрос, если пользователь вводит полное название города
var cityList = new List {"Даллас", "Остин"}; var properties = Reporsitory.AsQueryable .Where (x => cityList.Contains (x.City)) .ToList ();
Однако если я просто введу Dal, Aus это не сработает. Как я могу заставить эти частичные поиски работать. Является ли Dynamic LINQ единственным ответом? Спасибо!
var properties = Reporsitory.AsQueryable().Where(x => cityList.Count(c => x.StartsWith(c)) != 0);
Или заменить StartWith на Contains ...