Edytuj
Zgodnie z komentarzem Evereqa poniższy tekst jest nieaktualny. Teraz użyj:
var conventionPack = new ConventionPack { new IgnoreExtraElementsConvention(true) };
ConventionRegistry.Register("IgnoreExtraElements", conventionPack, type => true);
Użyj SetIgnoreExtraElementsConvention
metoda (z Konwencji sekcja sterownika C# Samouczek serializacji
):
var myConventions = new ConventionProfile();
myConventions.SetIgnoreExtraElementsConvention(new AlwaysIgnoreExtraElementsConvention()));
BsonClassMap.RegisterConventions(myConventions, (type) => true);
Parametr (type) => true
jest predykatem zależnym od typu klasy, który określa, czy zastosować konwencję. Tak więc zgodnie z twoimi wymaganiami powinien po prostu zwrócić true niezależnie; ale możesz użyć tego do ustawienia/wykluczenia konwencji dla danych typów, jeśli chcesz.