Самообразовательные запросы в Raven DB?
-
27-10-2019 - |
Вопрос
Это может быть глупый вопрос, но, поскольку я совершенно новичок в Raven DB, я собираюсь задать.
Представьте, что у меня есть следующее:
- Ворон Б.Б. заполняется несколькими случаями объекта "EventData".
- У каждого экземпляра EventData есть MessageID и временная метка.
- MessageID появится дважды в списке, один раз, когда сообщение было отправлено, а другое, когда оно было получено.
Итак, для этого сценария я хотел бы сделать самореференциальное соединение в таблице и поиск паров Event/End EventData на основе MessageId, который я мог бы затем использовать поле TimeStam Анкет
Я думал, что следующий код сработает, но я получаю "Метод не поддерживается: selectmany" ошибка.
var mexEvent = from startEventData in session.Query<EventData>()
from endEventData in session.Query<EventData>()
where startEventData.MessageId == endEventData.MessageId
select new { MessageId = startEventData.MessageId, Latency = (endEventData.EventTime - startEventData.EventTime).TotalMilliseconds };
foreach (var eventDataItem in mexEvent)
Console.WriteLine("MessageId: " + eventDataItem.MessageId + ", Latency: " + eventDataItem.Latency);
Мне нужно это для внутренней демонстрации, поэтому не нужно, чтобы она была модной, просто функциональной. Может ли кто -нибудь помочь мне понять, как присоединиться к двум документам в одной базе данных?
Спасибо!
Решение
Дин, вы не можете делать такие вещи в запросе, но вы можете сделать это в карте/уменьшении операции