У меня есть метод, который ищет базу данных.Часть поиска позволяет пользователям искать по ТОЧНОЙ строке, используя кавычки.Есть определенная строка, с которой у меня проблемы;это называется String "xyz"
.Обратите внимание на кавычки вокруг XYZ.Если пользователь помещает кавычки вокруг всей строки, чтобы она выглядела как "String "xyz""
, строка базы данных не возвращается.Он возвращается корректно, когда пользователь просто ищет String "xyz"
.
Вот часть кода, о которой идет речь:
bool isExactSearchString = false;
if (searchString.StartsWith("\"") && searchString.EndsWith("\""))
{
// remove first and last quotes
searchString = searchString.Remove(0, 1);
searchString = searchString.Remove(searchString.Length - 1, 1);
isExactSearchString = true;
}
var result = from d in repository.GetAllTheTableRows()
where (isExactSearchString ? d.Column == searchString : d.Column.Contains(searchString))
select d.Driver;
Итак, result
не возвращает результатов, когда строка ищетокружен кавычками, когда в строке есть кавычки, но вернет результаты, если вокруг строки есть кавычки, которые НЕ содержат кавычек.Это кажется мне очень странным.Кто-нибудь знает, почему это так?