c#mongodb文档是否应该继承BsonDocument

c#mongodb文档是否应该继承BsonDocument,c#,mongodb,inheritance,bson,C#,Mongodb,Inheritance,Bson,用c语言编写的mongodb文档classes是否应该继承自BsonDocument 例如: /// <summary> /// Company document /// </summary> public class CompanyDocument : BsonDocument { /// <summary> /// Collection name /// </summary> public const strin

用c语言编写的
mongodb
文档
classes
是否应该继承自
BsonDocument

例如:

/// <summary>
/// Company document
/// </summary>
public class CompanyDocument : BsonDocument
{
    /// <summary>
    /// Collection name
    /// </summary>
    public const string COLLECTION_NAME = "company";

    /// <summary>
    /// Unique company name
    /// </summary>
    [BsonElement("name")]
    public string Name
    {
        get;
        set;
    }

    /// <summary>
    /// List of referenced users
    /// </summary>
    [BsonElement("users")]
    public IList<MongoDBRef> Users
    {
        get;
        set;
    }
}
//
///公司文件
/// 
公共类公司文档:B子文档
{
/// 
///集合名称
/// 
公用常量字符串集合\u NAME=“公司”;
/// 
///唯一公司名称
/// 
[b单一元素(“名称”)]
公共字符串名
{
得到;
设置
}
/// 
///被引用用户列表
/// 
[b单一元素(“用户”)]
公共IList用户
{
得到;
设置
}
}
因为当我想
查询
数据时,似乎需要从
BsonDocument
继承。或者它应该更像一个
POCO
对象,还是从其他对象继承


多谢各位

我知道这是个老问题,但万一有人像我一样在这里寻找答案。答案是否定的

虽然这是可能的,但已经注意到它会引起许多问题。我特别看到的是序列化

我遇到了这两个bug报告:

他们的一些摘录比我能更好地解释这一点:

如果您真的想将BsonDocument子类化,那么您需要做的是将事情连接起来,以便正确序列化MyBsonDocument值。-罗伯特·斯塔姆


BsonDocument可以表示存在的任何结构。因此,继承的唯一原因是(a)提供不同的行为(RawBsonDocument、lazybondocument),或(b)提供对某些字段的强类型访问。-克雷格·威尔逊