2012-03-22 22 views
6

मैं रावेनडीबी में LINQ प्रश्नों का उपयोग करके विवादित परिणाम देख रहा हूं, मैं उत्सुक हूं कि .Count() वास्तव में कैसे काम करता है।रावेनडीबी - LINQ - गणना() विसंगतियों

क्वेरी 1:

Session.Query<thisEntity> 
.Count() 

परिणाम: 205 - जिसका अर्थ है मैं thisEntity के 205 दस्तावेज नहीं हैं।

क्वेरी 2:

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

परिणाम: LINQ पैड में इस क्वेरी केवल 197 दस्तावेजों के डंप को दर्शाता है। मतलब हो सकता है 197 अद्वितीय दस्तावेजों और उनमें से बाकी 8 डुप्लिकेट कर रहे हैं देखते हैं कि - 197:

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

परिणाम: मैं 205 दस्तावेजों

क्वेरी 3 देखने के लिए उम्मीद कर रहा था। यह एक और बात है, हमारे RavenDB उदाहरण में डुप्लिकेट नहीं बनाया जा सकता है।

मेरा प्रश्न: मैं उन 8 अनुमानित मौजूदा डुप्लीकेटों का डंप कैसे प्राप्त कर सकता हूं ताकि मैं स्पष्ट रूप से जांच सकूं कि वे क्या हैं। अभी, गिनती मुझे 205 देती है, डंप मुझे केवल 1 9 7 देता है। मैं उन अतिरिक्त 8 डुप्लिकेट के लिए डीबी से पूछना चाहता हूं।

+1

मुझे यह तथ्य यह है कि आंतरिक रूप से RavenDB अलग-अलग चीजें करता है जब आप पेज आकार के साथ/बिना क्वेरी जारी करते हैं। यह एक बग हो सकता है, क्या आप एक पूर्ण कोड नमूना पोस्ट कर सकते हैं जो समस्या दिखाता है? –

उत्तर

1

क्या दस्तावेज़ बिल्कुल वही हैं, या अनुपस्थित गुणों वाले ऑब्जेक्ट के कुछ पुराने संस्करण हैं? यदि ऐसा है, तो आप एक ही समस्या का सामना कर रहे हैं described here

+0

दस्तावेज बिल्कुल वही हैं। संरचना नहीं बदली है। – user1258393

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^