आपको BsonClassMap.RegisterClassMap<MyClass>();
लिखने की आवश्यकता नहीं है , क्योंकि सभी वर्ग डिफ़ॉल्ट रूप से स्वचालित हो जाएंगे।
आपको RegisterClassMap
. का उपयोग करना चाहिए जब आपको कस्टम क्रमांकन की आवश्यकता हो:
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.AutoMap();
cm.SetIdMember(cm.GetMemberMap(c => c.SomeProperty));
});
इसके अलावा, आप क्रमबद्धता प्रबंधित करने के लिए विशेषताओं का उपयोग कर सकते हैं (यह मेरे लिए अधिक मूल जैसा दिखता है):
[BsonId] // mark property as _id
[BsonElement("SomeAnotherName", Order = 1)] //set property name , order
[BsonIgnoreExtraElements] // ignore extra elements during deserialization
[BsonIgnore] // ignore property on insert
इसके अलावा, आप वैश्विक नियम बना सकते हैं जिनका उपयोग ऑटोमैपिंग के दौरान किया जाता है, जैसे:
var myConventions = new ConventionProfile();
myConventions.SetIdMemberConvention(new NoDefaultPropertyIdConvention());
BsonClassMap.RegisterConventions(myConventions, t => true);
मैं क्रमांकन प्रक्रिया को प्रबंधित करने के लिए केवल विशेषताओं और परंपराओं का उपयोग कर रहा हूँ।
आशा है कि यह मदद।