Anda tidak perlu menulis BsonClassMap.RegisterClassMap<MyClass>();
, karena semua kelas akan dipetakan secara otomatis secara default.
Anda harus menggunakan RegisterClassMap
ketika Anda membutuhkan serialisasi khusus:
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.AutoMap();
cm.SetIdMember(cm.GetMemberMap(c => c.SomeProperty));
});
Anda juga dapat menggunakan atribut untuk membuat mengelola serialisasi (sepertinya lebih asli bagi saya):
[BsonId] // mark property as _id
[BsonElement("SomeAnotherName", Order = 1)] //set property name , order
[BsonIgnoreExtraElements] // ignore extra elements during deserialization
[BsonIgnore] // ignore property on insert
Anda juga dapat membuat aturan global yang digunakan selama pemetaan otomatis, seperti ini:
var myConventions = new ConventionProfile();
myConventions.SetIdMemberConvention(new NoDefaultPropertyIdConvention());
BsonClassMap.RegisterConventions(myConventions, t => true);
Saya hanya menggunakan atribut dan konvensi untuk mengelola proses serialisasi.
Semoga membantu.