2012-03-22 9 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件の文書のダンプを示しています。

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

結果: - 197個のユニークな文書があることを意味し、それらの 残り8が重複している可能性があります197私は205個の文書

クエリ3を見て期待していました。これはもう一つのことです。私たちのRavenDBインスタンスに複製を作成する方法はありません。

私の質問:どのようにそれらが8つの存在と思われる複製をダンプすることができるので、私はそれらが何であるかを明確に確認することができます。今、Countは私に205を、ダンプには私だけ197を与えます。私はそれらの余分な8つの重複のためのdbを照会したいと思います。

+1

これは、ページサイズの有無にかかわらずクエリを発行するときに内部的にRavenDBが異なることを行うという事実と関連しています。それはバグかもしれません、問題を示す完全なコードサンプルを投稿できますか? –

答えて

1

ドキュメントが完全に同じであるか、プロパティが不足している古いバージョンのオブジェクトがありますか?その場合は、同じ問題described hereが発生している可能性があります。

+0

文書はまったく同じです。構造は変更されていません。 – user1258393