Ini adalah batas untuk menjadi bug di driver C #. Ternyata IdMemberMap tidak didefinisikan sampai peta kelas "dibekukan", karena alasan yang berkaitan dengan hierarki kelas di mana Id sebenarnya dapat didefinisikan di kelas dasar. Salah satu cara untuk mengatasinya adalah:
BsonClassMap.RegisterClassMap<Person>(cm => {
cm.AutoMap();
cm.Freeze();
cm.IdMemberMap.SetRepresentation(BsonType.ObjectId);
});
Cara lain untuk mengatasinya adalah dengan menggunakan GetMemberMap alih-alih IdMemberMap:
BsonClassMap.RegisterClassMap<Person>(cm => {
cm.AutoMap();
cm.GetMemberMap(c => c.Id).SetRepresentation(BsonType.ObjectId);
});