मेरे पास एक डेटाबेस तालिका है जिसमें कई रिकॉर्ड हो सकते हैं और मैं तालिका में वर्तमान कुल को गिनना चाहता हूं। मैं एक साधारण करने के लिए जा रहा था:LINQ और गणना विस्तार विधि
DataContext.Table.Count(c => c.condition);
तक मुझे एहसास हुआ Count
के लिए वापसी प्रकार int
है। क्या होगा यदि टेबल 32 बिट्स में प्रदर्शित किए जा सकने से अधिक मूल्यों को पकड़ना है? मैं उन्हें कैसे गिन सकता हूं?
क्या मुझे उस तरह के पैमाने के बारे में बात करते समय उन्हें अलग तरीके से गिनना चाहिए?
हालांकि लॉन्गकाउंट() एक्सटेंशन विधि आपका समाधान है, लेकिन यदि संभवतः आपका फ़िल्टर परिणाम सेट 'int.MaxValue' द्वारा प्रदर्शित संख्या से अधिक है तो रन टाइम पर मेमोरी अपवाद से बाहर हो जाएगा। असल में यह 'int.MaxValue' के नीचे रास्ता विफल हो जाएगा, रिकॉर्ड्स की सीमा' लंबी '(एसक्यूएल में बिगिनट) पर जाने से भूल जाओ। सीएलआर किसी वस्तु के अधिकतम स्वीकृत आकार को 2 जीबी तक सीमित करता है। यदि आप वास्तव में उन रिकॉर्ड्स को स्मृति में लाने के लिए होते हैं तो कृपया अपने एप्लिकेशन को पुन: आर्किटेक्ट करने पर विचार करें। यहां अधिक जानकारी - http://stackoverflow.com/questions/1087982/single-objects-still-limited-to-2-gb-in-size-in-clr-4-0 – RBT