用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
对象还是继承其他东西?
非常感谢!
答案 0 :(得分:0)
我知道这是一个古老的问题,但万一有人偶然发现像我一样寻找答案。答案是否定的。
尽管有可能,但已经注意到会引起许多问题。我特别看到的是序列化。
我遇到了这两个错误报告:
他们的一些摘录比我能解释得更好:
如果你真的想要继承BsonDocument,你需要做的就是连接起来,以便你的MyBsonDocument值被正确序列化。 - 罗伯特斯塔姆
BsonDocument可以表示存在的任何结构。因此,继承的唯一原因是(a)提供不同的行为(RawBsonDocument,LazyBsonDocument),或(b)提供对某些字段的强类型访问。 - 克雷格威尔逊