MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

C# 10gen i mongo:deserializacja członków jako interfejsów

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>());


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Agregacja MongoDB przy użyciu oficjalnego sterownika C#?

  2. Konwertuj MongoCursor z ->find() na tablicę

  3. Problem z dopasowaniem wyrażenia regularnego MongoDB

  4. Jak usunąć numery N dokumentów w mongodb

  5. nie można skompilować przykładu mongo-c-driver