MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Speichern eines Wörterbuchs mit polymorphen Werten in mongoDB mit C#

Der Treiber sollte alle Diskriminatoren kennen, um jede Klasse fehlerfrei zu deserialisieren. Dafür gibt es zwei Möglichkeiten:

1.Registrieren Sie es beim App-Start global:

BsonClassMap.RegisterClassMap<Type1>();
BsonClassMap.RegisterClassMap<Type2>();

2.Oder über BsonKnownTypes Attribut:

[BsonKnownTypes(typeof(Type1), typeof(Type2)]
 public class BaseType
 {

 }

Wenn Sie #1 oder #2 verwenden, wird Ihre Deserialisierung korrekt funktionieren.