1

我最近开始使用 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 驱动程序可以正确反序列化它?

4

1 回答 1

1

我想通了。我所要做的就是注册 Dependent 类,它就像在

BsonClassMap.RegisterClassMap<Dependent>();
于 2013-11-14T06:22:18.633 回答