我有一个类似下面的课程。
public abstract class Employee
{
public abstract string EmployeeType {get;}
}
public class Engineer: Employee
{
public override string EmployeeType
{
get
{
return "engineer";
}
}
}
我有另一个班级,里面有员工名单,可以有不同类型的员工(工程师,经理等)。这个类很好地序列化到我的Mongo数据库中。但是,对于反序列化,如何指定deseralizer以根据EmployeeType字符串将Employee记录反序列化为Engineer或Manager对象。如何将此指定给MongoDB反序列化器(用于数据库层)和JSON.NET反序列化器(用于中间层)?
答案 0 :(得分:1)
执行此操作的最佳方法是使用mongo类型鉴别器。这是一篇很好的文章:
http://mycodeonline.com/peterkneale/blog/mongo-type-discriminators
希望它有所帮助!