1

我知道一个查询不能超过 128 条记录,如果我使用 .Take(1024) 可以将其扩展到 1024 条,但是示例数据库上的这段代码有一个新问题:

var albumCount = session.Query<Album>().Count();
Console.WriteLine(albumCount);          // 246 as expected?!?

var somemoredata = session.Query<Album>();
Console.WriteLine(somemoredata.Count());    // 246 but it sould be 128
int cnt = 1;
foreach (var album in somemoredata)
{
   Console.WriteLine(cnt++.ToString() + " " + album.Id);  // repeats 128 counts
}

怎么会这样?somemoredata 的计数是 246,但是 foreach 写了 128 行?!?

错误在哪里?

4

1 回答 1

2

Take正在为你做分页,这是默认保存原则的一部分。但Count应始终给出该查询的文档的实际计数。

这将确保您可以:

  1. 显示所显示的数据只是信息的一部分的指示。(X 页的第 1 页)。
  2. 让您知道我们需要在您需要时进行分页。
于 2012-05-16T12:19:00.820 回答