Comment désérialiser un object BsonDocument vers la classe après l’avoir récupéré sur le serveur?
QueryDocument _document = new QueryDocument("key", "value"); MongoCursor _documentsReturned = _collection.FindAs(_document); foreach (BsonDocument _document1 in _documentsReturned) { //deserialize _document1 //? }
Est-ce que je désérialise à l’aide d’un BsonReader?
En réalité, il y a trois façons:
1.Spécifiez le type que vous souhaitez charger directement dans FindAs<>
var docs = _collection.FindAs(_document);
Document 2.Deserialize via BsonSerializer
:
BsonSerializer.Deserialize(doc);
3.Mappez manuellement le document bson à votre classe:
var myClass = new Mytype(); myClass.Name = bsonDoc["name"].AsSsortingng;
Dans la plupart des cas, vous êtes d’accord avec la première approche. Mais parfois, lorsque vos documents ne sont pas structurés, vous aurez peut-être besoin d’une troisième approche.