2015-03-13 11 views
17

Ich bin in der Lage, meine Klasse zu Mongo zu speichern, aber ich bekomme einen Fehler deserializing es.Unbekannter Diskriminator Wert C# Mongo

Ich erhalte eine Fehlermeldung:

'MongoDB.Bson.BsonSerializationException : Unknown discriminator value 'ProductPropertyDefinition'.'

Ich brauche Hilfe. Wie kann man Mongo dazu bringen, das korrekt zu deserialisieren?

public class Product 
{ 
    [BsonId] 
    [BsonRepresentation(BsonType.ObjectId)] 
    public string Id { get; set; } 

    public ProductPropertyDefinitionCollection ProductProperties { get; set; } 
} 

public class ProductPropertyDefinitionCollection : CollectionBase 
{ 
    public ProductPropertyDefinition this[int index] 
    { 
     get 
     { 
      return (ProductPropertyDefinition)List[index]; 
     } 
     set 
     { 
      List[index] = value; 
     } 
    } 

    public ProductPropertyDefinition this[string name] 
    { 
     get 
     { 
      return GetByName(name); 
     } 
    } 

    public int Add(ProductPropertyDefinition value) 
    { 
     return List.Add(value); 
    } 

    public void Remove(ProductPropertyDefinition value) 
    { 
     List.Remove(value); 
    } 

    public bool Contains(ProductPropertyDefinition value) 
    { 
     return List.Contains(value); 
    } 

    private ProductPropertyDefinition GetByName(string propertyName) 
    { 
     ProductPropertyDefinition profileItem = null; 

     foreach (ProductPropertyDefinition profileProperty in InnerList) 
     { 
      if (profileProperty.PropertyName == propertyName) 
      { 
       profileItem = profileProperty; 
      } 
     } 
     return profileItem; 
    } 
} 

Antwort

28

Ich habe es. Ich musste nur eine Classmap hinzufügen:

BsonClassMap.RegisterClassMap<ProductPropertyDefinition>(); 
Verwandte Themen