我有一个正在查询的Raven数据库,如下所示:
var query = Session
.Query<Vehicle, VehicleWithReadyStatusIndex>()
.Statistics(out queryStatistics)
.TransformWith<VehicleWithDriver, VehicleWithDriver.Result()
.Skip(skip)
.Take(take);
间歇地枚举此
IQueryable
会导致异常。我很确定这是变压器的问题。当失败时,我希望能够查看针对VehicleWithReadyStatusIndex
的查询所返回的文档,以便查看转换器尝试对哪些文档进行操作。能够在日志或其他内容中看到该信息可以帮助我确认我认为是问题所在(变压器试图对不良数据进行操作)。在查看设置为“跟踪”级别的Raven日志时(尽管我没有看到任何跟踪消息... hmmm),它告诉我何时查询索引以及结果的数量,但是会如果我也能得到它给我返回的所有文档的ID列表(并发送到转换器),那太好了。有人知道这样做的方法吗?
编辑:
为了澄清,我已经找到了一种修改变压器的方法,可以解决我的原始问题(
IQueryable
枚举除外)。但是,尽管不再有例外,但是尽管我可以忍受,但仍然有一些行为使我觉得我没有得到全部了解。在问这个问题时,我真的只想知道是否有任何方法可以追溯到过去,看看在针对它进行给定查询时索引的内容是什么,无论是在日志中还是在其他方式中我不知道到目前为止,听起来答案是“否”。为了回答这个问题背后的问题,我需要提供更多的背景信息,最好将其完全放在另一个SO问题中。
最佳答案
您可以再次运行查询,而无需使用转换器,以保留您的输入。