Backround:
В моей базе данных есть одна таблица, которую я использую для регистрации звонков в различные веб-службы.
Каждая запись журнала связана с GUID (CorrelationID), который связывает все записи журнала для определенного веб-запроса.
При поиске в журналах определенной части данных (например, имени человека) я могу получить одну запись журнала, содержащую эту информацию, но я хочу показать все записи журнала, относящиеся к тому же запросу.
НАСТОЯЩЕЕ:
Для достижения желаемых результатов в SQL я использую этот запрос:
SELECT * FROM Logging WHERE CorrelationId IN (SELECT DISTINCT CorrelationId FROM Logging WHERE Message like '%fred%') ORDER BY Datetime
ПРОБЛЕМА:
Я хотел бы преобразовать этот запрос в LINQ to Entities.
Все, что у меня есть на данный момент, это главный выбор
var records = db.Loggings.Where(x => x.Datetime >= fromDate && x.Datetime < toDate)
.Where(x => x.Message.Contains("fred"))
.OrderBy(x => x.Datetime).AsQueryable();
Я не могу определить правильный синтаксис для добавления части IN
.
Я следовал другим SO-ответам на подобные вопросы, но все еще не могу заставить это работать для моего конкретного сценария.