RavenDb在没有过滤条件时跳过项目

时间:2011-12-29 11:08:00

标签: .net nosql ravendb

我想通过以下查询检索某种类型的所有文档:

var customers = documentSession.Query<Customer>()

但在这种情况下我只得到1个结果(而其中有78个)。如果我添加一些始终为真的过滤条件,我将获得所有78个文档:

var customers = documentSession.Query<Customer>().Where(c => c.Id != null).ToList();

我猜这是一个错误。

更新。 RavenDb Build 531

更新2

丹尼尔和奥伦,抱歉拖延。

我准备了一个示例应用程序。您可以在此处下载:http://www.2shared.com/file/AGIAR5UA/RavenDbSampleAppication.html

有一个测试NUnit项目,它引用了定义模型的SkazhiKazinoNet.Data.Model.dll。我刚刚添加了包含最后一个RavenDb的包和dump4.raven中的导入数据(你可以在包/ Raven / tools中找到它)。

2 个答案:

答案 0 :(得分:2)

由于以下几个原因,我很确定没有这样的错误(在任何最新版本中):

  • 这将是一个巨大的,许多应用程序将破解
  • 有相当数量的单元测试失败

为了帮助您确定问题 - 您能提供失败的测试吗?

请确保您在第一次查询时拨打.ToList()

答案 1 :(得分:2)

你说得对,存档中的数据库已损坏。

我可以重现错误。查询:

  

curl -X GET http://localhost:8080/indexes/dynamic/Casinos

返回

{"Results":[],"Includes":[],"IsStale":false,"IndexTimestamp":"2011-12-31T02:19:51.2660000","TotalResults":0,"SkippedResults":0,"IndexName":"LastComments","IndexEtag":"00000000-0000-0100-0000-000000000078"}

然后我删除了所有索引并重新启动了服务器。现在查询返回正确的结果。 因此,在删除所有索引并重新创建它们之后,它也可以在您的计算机上运行。

我很抱歉,但我无法提供任何进一步的信息,也许奥伦可以。