1.4.2 और इससे पहले के कस्टम संग्रह के साथ समस्या यह है कि चूंकि आपके कस्टम संग्रह के लिए कोई सीरियलाइज़र पंजीकृत नहीं है, इसलिए C# ड्राइवर BsonClassMapSerializer का उपयोग करके इसे क्रमबद्ध करने का प्रयास करता है। लेकिन BsonClassMapSerializer को सभी डेटा को सार्वजनिक प्राप्त/सेट गुणों के रूप में क्रमबद्ध करने के लिए कक्षा को क्रमबद्ध करने की आवश्यकता होती है (जो आपकी बेस क्लास List
केवल एक चीज जो 1.5 में बदलती है, वह यह है कि जब कोई POCO IEnumerable या IDictionary को लागू करता है, तो ड्राइवर किस सीरियलाइज़र का उपयोग करता है।
आप इस तरह अपने कस्टम संग्रह के लिए स्पष्ट रूप से एक धारावाहिक पंजीकृत करके 1.4.2 और उससे पहले के कस्टम संग्रह का उपयोग कर सकते हैं:
BsonSerializer.RegisterSerializer(typeof(MyCollection), new EnumerableSerializer<int>());