U hoeft niet te schrijven BsonClassMap.RegisterClassMap<MyClass>();
, omdat alle klassen standaard automatisch worden toegewezen.
Gebruik RegisterClassMap
wanneer u aangepaste serialisatie nodig heeft:
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.AutoMap();
cm.SetIdMember(cm.GetMemberMap(c => c.SomeProperty));
});
Je kunt ook attributen gebruiken om serialisatie te beheren (het lijkt meer native voor mij):
[BsonId] // mark property as _id
[BsonElement("SomeAnotherName", Order = 1)] //set property name , order
[BsonIgnoreExtraElements] // ignore extra elements during deserialization
[BsonIgnore] // ignore property on insert
U kunt ook algemene regels maken die worden gebruikt tijdens automapping, zoals deze:
var myConventions = new ConventionProfile();
myConventions.SetIdMemberConvention(new NoDefaultPropertyIdConvention());
BsonClassMap.RegisterConventions(myConventions, t => true);
Ik gebruik alleen attributen en conventies om het serialisatieproces te beheren.
Ik hoop dat dit helpt.