Problem z kolekcjami niestandardowymi w wersji 1.4.2 i wcześniejszych polega na tym, że ponieważ nie ma zarejestrowanego serializatora dla kolekcji niestandardowej, sterownik C# próbuje serializować go przy użyciu BsonClassMapSerializer. Ale BsonClassMapSerializer wymaga serializacji klasy, aby uwidocznić wszystkie dane, które mają być serializowane jako publiczne właściwości pobierania/ustawiania (których nie ma klasa bazowa List
Jedyną rzeczą, która zmienia się w 1.5, jest to, jak sterownik wybiera, który serializator ma być używany, gdy POCO implementuje IEnumerable lub IDictionary.
Możesz używać kolekcji niestandardowych już w wersji 1.4.2 i wcześniejszych, jawnie rejestrując serializator dla swojej kolekcji niestandardowej w następujący sposób:
BsonSerializer.RegisterSerializer(typeof(MyCollection), new EnumerableSerializer<int>());