C# 如何在具有递归定义的类上序列化到BSM?

C# 如何在具有递归定义的类上序列化到BSM?,c#,mongodb,visual-studio-2013,bson,C#,Mongodb,Visual Studio 2013,Bson,我在尝试使用MongoDB最新的Csharp驱动程序1.9.1将这个C#类序列化为BSON文档时遇到了麻烦:- public class Node { public string name { get; set; } public List<Node> children { get; set; } public int size { get;

我在尝试使用MongoDB最新的Csharp驱动程序1.9.1将这个C#类序列化为BSON文档时遇到了麻烦:-

public class Node
{
    public string name
    {
        get;
        set;
    }
    public List<Node> children
    {
        get;
        set;
    }
    public int size
    {
        get;
        set;
    }
    public Node()
    {
        children = new List<Node>();
    }
}
它给出了一个错误的说法:

错误1“Node”不包含“ToBson”的定义,并且找不到接受“Node”类型的第一个参数的扩展方法“ToBson”(是否缺少using指令或程序集引用?)


另外,如何反序列化以获取对象?

一个定义类似于节点类的递归类可以被序列化而不会出现任何问题,只要数据中没有循环引用(无限循环)

要使用ToBson扩展方法,需要添加以下using语句:

using MongoDB.Bson;
var bsonDoc = node1.ToBson();
using MongoDB.Bson;