sql >> Database teknologi >  >> NoSQL >> MongoDB

C# 10gen og mongo:deserialisering for medlemmer som grænseflader

Problemet med brugerdefinerede samlinger i 1.4.2 og tidligere er, at da der ikke er registreret nogen serializer til din brugerdefinerede samling, forsøger C#-driveren at serialisere den ved hjælp af BsonClassMapSerializer. Men BsonClassMapSerializer kræver, at klassen serialiseres for at afsløre alle data, der skal serialiseres som offentlige get/set-egenskaber (hvilket din basisklasseliste ikke gør).

Det eneste, der ændrer sig i 1.5, er, hvordan driveren vælger, hvilken serializer der skal bruges, når en POCO implementerer IEnumerable eller IDictionary.

Du kan bruge brugerdefinerede samlinger allerede i 1.4.2 og tidligere ved eksplicit at registrere en serializer til din brugerdefinerede samling som denne:

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


  1. Installer mongodb på azure devops-vært til testkørsel

  2. Fatal fejl:Uopfanget undtagelse 'RedisException' med beskeden 'Redis-server gik væk'

  3. $and forespørgsel returnerer intet resultat

  4. StackExchange.Redis - LockTake / LockRelease-brug