我最近开始使用 MongoDB 的官方 C# 驱动程序来开发 MongoDB。我有以下类/接口定义:
public interface IDependent {
int Index { get; set; }
string Name { get; set; }
}
public class Person {
int Id { get; set; }
string Name {get; set; }
IDependent[] Dependents { get; set; }
}
public class Dependent : IDependent {
int Index {get; set; }
string Name { get; set; }
}
使用此类/接口结构,插入带有 IDependent 数组的 Person 记录即可。但是当我尝试检索 Person 对象时,mongoDB C# 驱动程序抱怨“IDependent 的未知鉴别器”。
如果我的理解是正确的,则反序列化器无法确定必须为 Dependents 数组中的每个元素创建其实例的类类型。
如何映射 IDependent 的类类型为 Dependent,以便 mongoDB 驱动程序可以正确反序列化它?