我知道我不能通过一个查询获得超过128条记录,并且如果我使用它可以扩展到1024条.Take(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行?!?
错误在哪里?
答案 0 :(得分:2)
Take
正在为您做分页,这是save by default原则的一部分。但是Count
应该总是给出该查询的文档的实际计数。
这将确保您可以: