[英]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.