Я не уверен на 100%, в чем разница между CleanToSearch и StringUtils.CleanToSearch?Я могу видеть, что последний возвращает коллекцию, но какова цель последнего метода (StringUtils.CleanToSearch).Я думал, что целью CleanToSearch было в конечном итоге указать название города, которое хранится в базе данных.В любом случае, я не собираюсь быть одним из тех ответов «Почему ты так делаешь».В вашем классе City всегда может быть свойство, содержащее результат StringUtils.CleanToSearch (название города).Поэтому, когда вы создаете новый город, вы запускаете метод и заполняете свойство (CleanedNames).
public class City
{
public City(string name)
{
Name = name;
CleanedNames = StringUtils.CleanToSearch(name);
}
string Name {get; set;}
string[] CleanedNames {get; set;}
}
Ваш поиск будет выглядеть так:
_mongoCollection.Find(c => c.CleanedNames.Contains(stringCleaned)).ToList();