Le problème avec les collections personnalisées dans 1.4.2 et les versions antérieures est que, puisqu'il n'y a pas de sérialiseur enregistré pour votre collection personnalisée, le pilote C# tente de la sérialiser à l'aide de BsonClassMapSerializer. Mais le BsonClassMapSerializer nécessite que la classe sérialisée expose toutes les données à sérialiser en tant que propriétés get/set publiques (ce que votre classe de base List
La seule chose qui change dans la version 1.5 est la façon dont le pilote choisit le sérialiseur à utiliser lorsqu'un POCO implémente IEnumerable ou IDictionary.
Vous pouvez utiliser les collections personnalisées déjà dans la version 1.4.2 et les versions antérieures en enregistrant explicitement un sérialiseur pour votre collection personnalisée comme ceci :
BsonSerializer.RegisterSerializer(typeof(MyCollection), new EnumerableSerializer<int>());