Самообразовательные запросы в Raven DB?

StackOverflow https://stackoverflow.com/questions/9327676

  •  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);

Мне нужно это для внутренней демонстрации, поэтому не нужно, чтобы она была модной, просто функциональной. Может ли кто -нибудь помочь мне понять, как присоединиться к двум документам в одной базе данных?

Спасибо!

Это было полезно?

Решение

Дин, вы не можете делать такие вещи в запросе, но вы можете сделать это в карте/уменьшении операции

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top