繁体   English   中英

在MongoDB和JSON.NET中反序列化抽象类型

[英]Deserializing abstract types in MongoDB and JSON.NET

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

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解串器(用于中间层)指定此功能?

最好的方法是使用mongo类型的鉴别符。 这是一篇很好的文章:

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

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM