Mongo C# 忽略属性

16

我正在使用官方 MongoDB 驱动程序的 v0.9 版本,尝试读取一个集合。数据库中有一个字段我不想读入到我的对象中,但是我收到了以下错误信息:

"Unexpected element: Network"

在数据库中,该集合的样式如下:

Merchants
 - _id
 - Name
 - Description
 - Url
 - Network

当我在C#中读取它时,我想创建一个名为Merchant的对象,它具有所有相同的属性,除了"Network"。我该怎么做?


一些代码会很好。 - Jonas Elfström
这个回答解决了你的问题吗?为所有类实现BsonIgnoreExtraElements - Liam
1个回答

26

在BSON序列化器上有一个"IgnoreExtraElements"选项,你可以启用它来防止出现错误。

要么将其设置为您的Merchant类的属性:

[BsonIgnoreExtraElements]
public Merchant {
    // fields and properties
}

如果使用类映射,则可以在代码中这样写:

BsonClassMap.RegisterClassMap<Merchant>(cm => {
    cm.AutoMap();
    cm.SetIgnoreExtraElements(true);
});

2
有没有一种方法可以忽略所有实体上的额外元素,而不必为每个实体单独指定它? - Jos
2
我在stackoverflow上找到了自己问题的解决方案:https://dev59.com/gWcs5IYBdhLWcg3wUCYI - Jos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接