1

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

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 反序列化器(用于中间层)?

4

1 回答 1

1

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

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

希望能帮助到你!

于 2014-03-02T11:33:07.403 回答