ravendb用跳过和拿走不起作用[关闭
题
我正在尝试在Ravendb Lucene指数上实施查询,并为结果进行分页。
我有以下代码:
IDocumentQuery<Post> q = Session.Advanced.LuceneQuery<Post, Posts_Search>()
.WhereContains("BodyHtml", query)
.OrElse()
.WhereContains("Title", query)
.AddOrder("Published", true)
.Skip(4).Take(4);
(为了一个简单的例子,添加了最后一对跳过和取走)。
此查询总是返回与我所期望的不仅与4个查询相匹配的所有22个文档。
我究竟做错了什么 ?
解决方案
这个问题发生在最新的稳定版本(206)上。
我现在已经下载了最新的不稳定构建(251),并且通过此构建,我的代码按预期工作。我想这是我正在使用的版本中的错误。如果我从Ravendb组中的问题中获得更有意义的见解,我将确保在此处发布。
其他提示
我不知道Ravendb的一个猜测。但是,也许乌鸦提供商不支持跳过或接受。
您可以尝试在.ADDORDER之后转换为Ienumerable,以验证这一点。 (然后,您将使用linq到对象进行跳过和采取,请注意,您仍然会先从数据库中获取所有记录)
...
.AddOrder("Published",True)
.AsEnumerable()
.Skip(4).Take(4);
不隶属于 StackOverflow