【问题标题】:deserialize inherited object反序列化继承的对象
【发布时间】:2013-11-26 13:46:25
【问题描述】:

我有MongoCollection<myObject>

集合中的一些“myObject”包含另一个对象(比如说“myObject2”),其中一些包含从“myObject2”(“myInheritedObjet”)继承的对象

现在我想反序列化集合中的项目,但我收到一个错误,因为“myObject2”没有“myInheritedObjet”的某些属性。

反序列化“myobject”属性时出错:元素 “名称”与“myobject”类的任何字段或属性都不匹配

例如:

MongoCollection<Person>

Person
    string name;
    Animal[] pets;

Animal
    string AType;

Dog : Animal
    string Name;

如果 Person 有 Dog,则此人无法反序列化,因为 Animal Type 没有“名称”。

我该如何解决? 谢谢。

【问题讨论】:

    标签: c# mongodb serialization bson


    【解决方案1】:

    好的,我找到了这个:deserializing polymorphic classes

    我需要做的就是将基类映射到子类:

    [BsonKnownTypes(typeof(subclass)]
    class BaseClass {...}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多