c#mongodb文件是否应该继承自BsonDocument

时间:2016-04-05 20:05:56

标签: c# mongodb inheritance bson

用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;
    }
}

因为当我想要query数据时,似乎我需要继承BsonDocument。或者它应该更像是POCO对象还是继承其他东西?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我知道这是一个古老的问题,但万一有人偶然发现像我一样寻找答案。答案是否定的。

尽管有可能,但已经注意到会引起许多问题。我特别看到的是序列化。

我遇到了这两个错误报告:

他们的一些摘录比我能解释得更好:

  

如果你真的想要继承BsonDocument,你需要做的就是连接起来,以便你的MyBsonDocument值被正确序列化。 - 罗伯特斯塔姆

  

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