2012-03-22 55 views
6

我看到在RavenDB中使用LINQ查詢的衝突結果,我很好奇.Count()是如何工作的。RavenDB - LINQ - Count()差異

查詢1:

Session.Query<thisEntity> 
.Count() 

結果:205 - 這意味着我有thisEntity的205個文件。

查詢2:

Session.Query<thisEntity> 
.Take(210) 
.Dump() 

結果:LINQ墊這個查詢顯示的只是197個文件轉儲。我期待看到205個文件

查詢3:

Session.Query<thisEntity> 
.Distinct() 
.Count() 

結果:197 - 可能意味着有197個獨特的文件,並將它們的 其餘8重複。這是另一回事,在我們的RavenDB實例中不可能創建重複項。

我的問題:如何獲得這些8個可能存在的重複項的轉儲,以便我可以清楚地檢查它們是什麼。現在,伯爵給了我205,轉儲給我只有197。我想查詢數據庫的那些額外的8重複。

+1

我這件事更多的是與內部RavenDB在您使用/不使用頁面大小發出查詢時做不同的事情。這可能是一個錯誤,你能發佈一個完整的代碼示例來顯示問題嗎? – 2012-03-22 12:04:12

回答

1

這些文檔是否完全一樣,或者是某些缺少屬性的舊版本的對象?如果是這樣,您可能遇到相同的問題described here

+0

這些文件完全一樣。結構沒有改變。 – user1258393 2012-03-22 13:51:22