在MongoDB中,我有一个类型为object
的属性MyProperty的类。
public MyClass
{
public object MyProperty;
public string Prop1;
public DateTime Prop2;
public int Prop3;
}
序列化到MongoDB工作没有任何问题,创建这种类型的JSon:
MyProperty" : {
"_t" : "ExampleClass",
[...]
}
但是当我尝试对其进行反序列化时,我收到以下错误:
反序列化类的MyProperty属性时发生错误 我的课: 未知的鉴别器值' ExampleClass'。
我想将MyProperty反序列化为简单的通用BsonDocument或字符串。
答案 0 :(得分:4)
_t存储您的自定义类名。您需要注册此自定义类映射,以便mongo知道反序列化时要使用的对象。这是一个代码示例(应该只需要在应用程序的开头调用一次):
if (!BsonClassMap.IsClassMapRegistered(typeof(ExampleClass)))
{
BsonClassMap.RegisterClassMap<ExampleClass>();
}