मैं जानता हूँ कि इस सवाल के वेरिएंट से पहले (यहां तक कि मेरे द्वारा) कहा गया है, लेकिन मैं अभी भी एक बात या इस बारे में दो समझ में नहीं आता रास्ता ...उचित से अधिक 128 दस्तावेज़ पुन: प्राप्त करने के लिए RavenDB
यह मेरी समझ है कि एक ऐसा करके 128 डिफ़ॉल्ट सेटिंग की तुलना में अधिक दस्तावेजों को पुनः प्राप्त कर सकता था:
session.Advanced.MaxNumberOfRequestsPerSession = int.MaxValue;
और मैंने सीखा है कि कहां खंड, एक समारोह के बजाय एक ExpressionTree होना चाहिए ताकि यह Queryable के रूप में देखा जाता है बजाय एक संख्यात्मक इसलिए मैंने सोचा कि यह काम करना चाहिए:
public static List<T> GetObjectList<T>(Expression<Func<T, bool>> whereClause)
{
using (IDocumentSession session = GetRavenSession())
{
return session.Query<T>().Where(whereClause).ToList();
}
}
हालांकि, यह केवल 128 दस्तावेज़ लौटाता है। क्यूं कर?
ध्यान दें, यहाँ कोड है कि ऊपर प्रणाली को बुलाती है:
RavenDataAccessComponent.GetObjectList<Ccm>(x => x.TimeStamp > lastReadTime);
अगर मैं टेक (एन) जोड़ने के लिए, तो मैं के रूप में मुझे पसंद के रूप में कई दस्तावेजों प्राप्त कर सकते हैं। उदाहरण के लिए, इस 200 दस्तावेज प्रस्तुत करती है:
return session.Query<T>().Where(whereClause).Take(200).ToList();
इस सब के आधार पर यह प्रतीत होता है दस्तावेजों के हजारों पुनः प्राप्त करने के उचित तरीके से MaxNumberOfRequestsPerSession सेट और क्वेरी में लें() का उपयोग करने के लिए है कि। क्या वह सही है? यदि नहीं, तो यह किया जाना चाहिए?
मेरे ऐप के लिए, मुझे हजारों दस्तावेज़ पुनर्प्राप्त करने की आवश्यकता है (जिनमें उनमें बहुत कम डेटा है)। हम इन दस्तावेज़ों को स्मृति में रखते हैं और चार्ट के लिए डेटा स्रोत के रूप में उपयोग करते हैं।
** संपादित करें **
मैं अपने लें() में int.MaxValue उपयोग करने की कोशिश:
return session.Query<T>().Where(whereClause).Take(int.MaxValue).ToList();
और वह 1024 अरे देता है। मैं 1024 से अधिक कैसे प्राप्त करूं?
** संपादित करें 2 - नमूना दस्तावेज़ दिखा डेटा **
{
"Header_ID": 3525880,
"Sub_ID": "120403261139",
"TimeStamp": "2012-04-05T15:14:13.9870000",
"Equipment_ID": "PBG11A-CCM",
"AverageAbsorber1": "284.451",
"AverageAbsorber2": "108.442",
"AverageAbsorber3": "886.523",
"AverageAbsorber4": "176.773"
}
क्या आप एक दस्तावेज़ के अंदर सभी 10000 अंक एक संग्रह के रूप में डालने के बारे में सोचते थे? – SteadyEddi