【问题标题】:Deserializing abstract types in MongoDB and JSON.NET在 MongoDB 和 JSON.NET 中反序列化抽象类型
【发布时间】:2013-09-30 04:23:38
【问题描述】:

我有一个像下面这样的课程。

public abstract class Employee
{
   public abstract string EmployeeType {get;}
}

public class Engineer: Employee
{
   public override string EmployeeType 
   { 
      get
      {
         return "engineer";
      } 
   }    
}

我有另一个类,它有一个员工列表,可以有不同类型的员工(工程师、经理等)。这个类很好地序列化到我的 Mongo 数据库中。但是,对于反序列化,我如何指定反序列化程序以根据 EmployeeType 字符串将 Employee 记录反序列化为 Engineer 或 Manager 对象。如何将其指定给 MongoDB 反序列化器(用于数据库层)和 JSON.NET 反序列化器(用于中间层)?

【问题讨论】:

    标签: c# .net mongodb serialization json.net


    【解决方案1】:

    最好的方法是使用 mongo 类型鉴别器。这是一篇关于它的好文章:

    http://mycodeonline.com/peterkneale/blog/mongo-type-discriminators

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      相关资源
      最近更新 更多