sql >> Databáze >  >> NoSQL >> MongoDB

C# 10gen a mongo:deseralizace pro členy jako rozhraní

Problém s vlastními kolekcemi ve verzi 1.4.2 a dřívějších je ten, že protože pro vaši vlastní kolekci není registrován žádný serializátor, ovladač C# se ji pokouší serializovat pomocí BsonClassMapSerializer. Ale BsonClassMapSerializer vyžaduje, aby třída, která je serializována, odhalila všechna data, která mají být serializována, jako veřejné vlastnosti get/set (což vaše základní třída List nemá).

Jediná věc, která se ve verzi 1.5 mění, je to, jak si ovladač vybírá, který serializátor použít, když POCO implementuje IEnumerable nebo IDictionary.

Vlastní kolekce můžete používat již ve verzi 1.4.2 a dřívějších tak, že si explicitně zaregistrujete serializátor pro svou vlastní kolekci, jako je tento:

BsonSerializer.RegisterSerializer(typeof(MyCollection), new EnumerableSerializer<int>());


  1. Jak aktualizovat pole objektu v poli pomocí Mongoose

  2. MongoDB, vícenásobný počet (s $exists)

  3. MongoDB a CodeIgniter

  4. MongoError:Nepodařilo se připojit k serveru při prvním připojení