2010-12-08 65 views
14

J'utilise v0.9 du pilote MongoDB officiel et je suis en train de lire dans une collection. J'ai un champ dans la base de données que je ne veux pas lire dans mon objet, mais je reçois l'erreur suivante.C# Mongo ignorent la propriété

« Élément inattendu: Réseau »

La collection ressemble à ceci dans la base de données

Merchants 
- _id 
- Name 
- Description 
- Url 
- Network 

Quand je l'ai lu en C# Je veux créer un objet appelé Merchant qui a tous les mêmes propriétés , sauf "Réseau". Comment puis-je faire cela?

+0

Une partie du code serait bien. –

Répondre

21

Il y a une option « IgnoreExtraElements » sur le sérialiseur BSON que vous pouvez activer pour éviter cette erreur.

soit défini comme un attribut sur votre Merchant classe:

[BsonIgnoreExtraElements] 
public Merchant { 
    // fields and properties 
} 

ou dans le code si vous utilisez des cartes de classe:

BsonClassMap.RegisterClassMap<Merchant>(cm => { 
    cm.AutoMap(); 
    cm.SetIgnoreExtraElements(true); 
}); 
+1

Est-il possible d'ignorer des éléments supplémentaires sur toutes les entités sans avoir à spécifier pour chaque entité séparément? – Jos

+2

J'ai trouvé la solution pour ma propre question stackoverflow: http://stackoverflow.com/questions/12944520/implement-for-all-classes-bsonignoreextraelements – Jos