@ HeyJude Спасибо за усилия, но я все еще не могу заставить их работать.Это как-то пошло не так, и теперь я не могу даже получить правильные строки, содержащие только номер ProcessId ..
Позвольте мне дать вам более подробное описание моей настройки.В базе данных есть таблица со столбцом «NewValue», я использую этот столбец для хранения json-строки текущего (на момент создания строки в таблице) представления некоторого объекта, например объекта Process .Таким образом, в столбце хранится, например, строка {"ProcessId": 904, "ProcessLength": 1000} .Чтобы получить эти данные из базы данных, я создаю коллекцию записей таблицы: var items = (from l in db.JDE_Logs
join u in db.JDE_Users on l.UserId equals u.UserId
join t in db.JDE_Tenants on l.TenantId equals t.TenantId
where l.TenantId == tenants.FirstOrDefault().TenantId && l.Timestamp >= dFrom && l.Timestamp <= dTo
orderby l.Timestamp descending
select new //ExtLog
{
LogId = l.LogId,
TimeStamp = l.Timestamp,
TenantId = t.TenantId,
TenantName = t.TenantName,
UserId = l.UserId,
UserName = u.Name + " " + u.Surname,
Description = l.Description,
OldValue = l.OldValue,
NewValue = l.NewValue
});
.Затем я запрашиваю его, чтобы найти подходящие строки для данного номера ProcessId, например query = "@NewValue.Contains(\"904,)\")";
items = items.Where(query);
. Это должно извлечь все записи, где столбец NewValue содержит строку запроса, но это не работает.Он компилируется и «работает», но данные не извлекаются или выбираются, это только те записи, где 904 появляется позже в строке.Звучит глупо, но это то, что есть.
Как должна выглядеть строка запроса для извлечения всех записей, содержащих "ProcessId":904
?