sql >> Database >  >> NoSQL >> MongoDB

Object deserialiseren als een interface met MongoDB C# Driver

Nou, ik heb veel problemen ondervonden toen ik dit antwoord probeerde te krijgen.

Allereerst heeft het MongoDB C#-stuurprogramma enkele problemen bij het deserialiseren van interfaces , zoals gezegd door Craig Wilson in deze vraagcommentaren, en zoals beschreven in de probleempagina .

De veilige implementatie voor dit probleem, zoals ik al eerder zei, kan in werkelijkheid een aangepaste BSON-serializer of een specifieke klassenkaart zijn, met behulp van BsonClassMap.RegisterClassMap .

Dus ik heb de klassenkaart geïmplementeerd en het probleem bleef bestaan.

Vooruitkijkend met het probleem, heb ik gevonden die uitzondering is gerelateerd aan een ander probleem van het stuurprogramma:het probleem bij het deserialiseren van structs .

Ik heb het project teruggedraaid naar de oorspronkelijke staat (zonder klassenkaart of aangepaste serializers) en het structtype gewijzigd in klassetype, en het werkte .

In de samenvatting houdt deze uitzonderingsfout verband met de deserialisatie van structuren, niet met deserialisatie van interfaces.

Hoe dan ook, het is een echt probleem, en het tweede probleem moet meer als een bug dan als een verbetering worden beschouwd, zoals het eerste probleem is.

U kunt de problemen vinden via deze links:



  1. MongoDB GPG - Ongeldige handtekeningen

  2. BsonDocument retourneren in ApiController

  3. Sorteer een geneste array in mangoest

  4. MongoDB $inc