Я using System.Linq.Dynamic;
для генерации динамического запроса linq, который выбирает записи из контекста БД.
Я генерирую предложение where в строковом формате для динамического linq. Это прекрасно работает, если входные данные не содержат двойных кавычек.Однако он выдает ошибку, когда входная строка содержит двойные кавычки.
Я следовал за существующим решением переполнения стека dynamiclinq-escaping-double-quotes-inside-strings , но это не помогло, потому что я хотелиспользуйте оператор LIKE.
Я использую Содержит условие в предложении where, потому что мне нужен оператор LIKE для запроса.Пожалуйста, следуйте приведенному ниже образцу кода ...
//name should contains "6"" WHITE COLOR
var whereClause = "(!flag.Contains(\"D\")) AND (Name.Contains(\"\"6\"\" WHITE COLOR\"\"))";
var result = context.Product.Where(whereClause).ToList();
Как только я выполню запрос выше, он выдаст ошибку как ')' or operator expected
.Но в соответствии с приведенным выше предложением, где это выглядит, все скобки в порядке, не уверен, что это какая-то проблема с динамическим запросом DLL.
Спасибо за любой совет.