这可能是一个愚蠢的问题,但由于我对Raven DB很陌生,我敢于问。
想象一下,我有以下内容:
因此,对于这种情况,我想在表上进行自引用连接,并根据MessageId搜索开始/结束EventData对,然后我可以使用每个的Timestamp字段来计算时间差。这两件事。
我认为以下代码可行,但我得到“方法不受支持: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);
我需要这个内部演示,所以不需要它是花哨的,只是功能。有人可以帮我理解如何在同一个数据库中加入两个文件吗?
谢谢!
答案 0 :(得分:1)
迪安, 您无法在查询中执行此类操作,但您可以非常轻松地在map / reduce操作中执行此操作