所以我有这样的课程:
public class Customer
{
public ObjectId Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
让我说我在MongoDB中添加了一些这样的文档。
但是,如果我从班上删除一些字段怎么办?
例如,我只留下Id
和FirstName
然后,当我尝试以这种方式回忆数据时:
var result = db.Get<Customer>().AsQueryable<Customer>();
我有一个例外
当然我理解这一点,为什么会发生这种情况,但如何应对呢?
顺便说一句,我的Get
方法只返回
return _database.GetCollection<Customer>("Customer");
答案 0 :(得分:1)
一种方法是将BsonIgnoreExtraElements
attribute添加到您的班级:
[BsonIgnoreExtraElements]
public class Customer
{
public ObjectId Id { get; set; }
public string FirstName { get; set; }
}
另一种是使用类映射:
BsonClassMap.RegisterClassMap<Customer>(cm => {
cm.AutoMap();
cm.SetIgnoreExtraElements(true);
});
或者,您可以查看catch all字段。