我有一个类(a)继承了(b)的列表。
public class a : List<b>
{
}
现在,当我尝试将此类的对象保存到Mongo时,我收到错误。
Serializer EnumerableSerializer&lt; b&gt;预期的序列化选项 键入ArraySerializationOptions,而不是DocumentSerializationOptions。
你有没有遇到过这样的事情,如果有人能够发出一些很棒的光。我无法在文档或网络上找到相关内容。
答案 0 :(得分:1)
保存到MongoDB的顶级文档不能是列表,它必须是一个类。它还必须有一个Id字段。所以你可以这样做:
public class C
{
public ObjectId Id { get; set; }
public A List { get; set; }
}
public class A : List<B>
{
}
在文档中封装了类型A的列表(在这种情况下为C类型)。
但是,如果您决定保留A类的类,请务必小心。如果您向A类添加自定义属性,则必须编写自定义序列化程序,以确保您添加的自定义值与列表值。参见: