我在使用 BsonSerializer 序列化 BsonDocuments 时遇到问题。
我正在使用var bsonDoc = collection.Find(...)
从 MongoDB 数据库中提取单个文档。然后我尝试使用序列化它
var strongTypedDocument = BsonSerializer.Deserialize<MainSDocument>(bsonDoc);
这是 BsonDocument
{
"MainSPayload" :
{
"GDeets" : { "Id" : 0, "GSerial" : "XX123XX123" }
}
}
这是 C# 类
[JsonObject(MemberSerialization.OptIn)]
[BsonIgnoreExtraElements]
public class MainSDocument
{
[JsonProperty(Required = Required.Always)]
public MainState MainSPayload
{
get; set;
}
}
[JsonObject(MemberSerialization.OptIn)]
public class MainState
{
[JsonProperty(Required = Required.Always)]
public GDetails GDeets
{
get; set;
}
}
public class GDetails
{
public int Id
{
get; set;
}
public string GSerial
{
get; set;
}
}
我得到的错误是:FormatException: An error occurred while deserializing the GDetails property of class MainState : Element 'Id' does not match any field or property of class GDetails .'
为什么会这样?为什么该元素与类中Id
的 int 元素不匹配?Id
GDetails