यह C# ड्राइवर में बग होने की सीमा रेखा है। IdMemberMap को तब तक परिभाषित नहीं किया जाता है जब तक कि क्लास मैप "जमे हुए" न हो, क्लास पदानुक्रमों के साथ करने के कारणों के लिए जिसमें आईडी को वास्तव में बेस क्लास में परिभाषित किया जा सकता है। इसे हल करने का एक तरीका यह है:
BsonClassMap.RegisterClassMap<Person>(cm => {
cm.AutoMap();
cm.Freeze();
cm.IdMemberMap.SetRepresentation(BsonType.ObjectId);
});
काम करने का दूसरा तरीका IdMemberMap के बजाय GetMemberMap का उपयोग करना है:
BsonClassMap.RegisterClassMap<Person>(cm => {
cm.AutoMap();
cm.GetMemberMap(c => c.Id).SetRepresentation(BsonType.ObjectId);
});