当尝试将继承与 C# 的 MongoRepository 结合时,我遇到了序列化错误。
真正奇怪的是它工作了很短的时间,但在说重建或失败之后。如果我删除该集合并创建一个新集合,它将一直有效,直到停止或重建。
我的代码如下所示:
public class Organization
{
// other attributes removed for demonstration simplicity
public List<Person> People { get;set; }
}
public abstract class Person
{
public string Id {get;set;}
public string Name {get;set;}
}
public class Employee : Person
{
public string Badge {get;set;}
}
public class Contractor : Person
{
public string Company {get;set;}
}
当我尝试得到它时:
static MongoRepository<Organization> apps = new MongoRepository<Organization>();
return apps.Single(c => c.Id == id);
我收到的错误是:
MongoDB.Driver.dll 中出现“System.IO.FileFormatException”类型的异常,但未在用户代码中处理
附加信息:反序列化类 API.Models.Organization 的 People 属性时出错:无法创建抽象类的实例。