C#Mongo BsonSerializer。反序列化忽略不存在的元素
是否有一个平面可以告诉C#Mongo BsonSerializer忽略poco类中不存在的元素 示例集合C#Mongo BsonSerializer。反序列化忽略不存在的元素,c#,mongodb,C#,Mongodb,是否有一个平面可以告诉C#Mongo BsonSerializer忽略poco类中不存在的元素 示例集合 Animal {"Type" : "Cat", "Skill" : "Jump"} Animal {"Type" : "Dog", "Skill" : "Bark", "Owner" : "Jimmy"} 如果cat C#类只有 public string Type {get;set;} public string Skill {get;set;} 当我尝试执行以下操作时 var te
Animal {"Type" : "Cat", "Skill" : "Jump"}
Animal {"Type" : "Dog", "Skill" : "Bark", "Owner" : "Jimmy"}
如果cat C#类只有
public string Type {get;set;}
public string Skill {get;set;}
当我尝试执行以下操作时
var test = BsonSerializer.Deserialize<Animal>(result);
var test=BsonSerializer.反序列化(结果);
第一项可以正常工作,第二项将抛出所有者不存在的异常。也许您可以将其反序列化为对象,并使用dynamic接收它
dynamic test=BsonSerializer.Deserialize(结果)代码>在Cat类上使用[BsonIgnoreExtraElements]属性。
从属性摘要:
指定在创建此类时是否应忽略额外的元素
反序列化
或者您可以使用约定一次对所有类型执行此操作
var conventionPack=new conventionPack{new ignoreextracelements转换(true)};
Register(“ignoreextralelements”,conventionPack,=>true);
我也这么想,但担心这会影响性能