Hi, everyone!
I've just updated to mongodb c# driver 1.9.1 from 1.4. Now I've got an error when I'm trying to get document from collection. Collection has property "SomeClass", which has property of type "DerivedClass". So, DerivedClass is a 3-rd level document.
class CollectionClass
{
int ColId;
SomeClass SomeClassProperty;
}
class SomeClass
{
DerivedClass DerivedClassProperty;
}
class BaseClass
{
string id;
float floatValue;
}
class DerivedClass
{
int intValue;
}
I'm using mapping like this:
BsonClassMap.RegisterClassMap<CollectionClass>(cm =>
{
cm.AutoMap();
cm.SetIgnoreExtraElements(true);
cm.SetIdMember(cm.GetMemberMap(c => c.ColId).SetIdGenerator(StringObjectIdGenerator.Instance));
});
BsonClassMap.RegisterClassMap<SomeClass>(cm =>
{
cm.AutoMap();
cm.SetIgnoreExtraElements(true);
});
BsonClassMap.RegisterClassMap<BaseClass>(cm =>
{
cm.AutoMap();
cm.MapIdMember(c => c.id);
cm.GetMemberMap(c => c.id).SetElementName("id");
cm.GetMemberMap(c => c.floatValue).SetElementName("fv");
}
BsonClassMap.RegisterClassMap<DerivedClass>(cm =>
{
cm.AutoMap();
cm.GetMemberMap(c => c.intValue).SetElementName("iv");
}
When I request document, using findOne(), I've got an error: "An error occurred while deserializing the SomeClass property of class CollectionClass: An error occurred while deserializing the DerivedClass property of class SomeClass: Element 'id' does not match any field or property of class DerivedClass.".
In C# driver version 1.4 everything works perfectlynyone has ideas?