更改属性类型后反序列化旧文档

时间:2019-08-29 12:23:48

标签: mongodb mongodb-.net-driver

我必须更改类中的属性类型:

旧:

class MyClass {
  Guid _id {get;set;}
  Guid SomeField {get;set;}
}

新功能:

class MyClass {
  Guid _id {get;set;}
  ComplexGuid SomeField {get;set;}
}

class ComplexGuid {
  Guid A {get;set;}
  Guid B {get; set;} 
}

现在,当我尝试从MongoDB加载旧数据时,出现此错误:

  

System.FormatException:'反序列化   MyClass类的SomeField属性:需要嵌套的文档   表示ComplexGuid值的序列化形式,但发现   而不是类型Binary的值。'

我可以添加一些东西到ClassMap中吗(就像使用自定义JsonConverter一样),在那里我可以检查传递的字段以查看是否需要转换旧版?正在环顾四周,但尚未找到任何东西。

0 个答案:

没有答案