1
我有一個類,看起來像這樣:id屬性的C#MongoDB的反序列化
public class Object
{
[JsonConverter(typeof(ObjectIdConverter))]
public ObjectId Id { get; set; }
public List<Record> Records { get; set; }
}
public class Record
{
[JsonConverter(typeof(ObjectIdConverter))]
public ObjectId Id { get; set; }
public Dictionary<string, object> Values { get; set; }
}
我試圖反序列化下面的JSON:
{{
"Id": "5791fad6fcef4434d0318d69",
"Values": {
"Name": "some name....",
"Account": {
"Value": "123",
"Name": "Test Account"
}
}
}}
隨着MongoDB的C#驅動程序:
var record = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<Record>(BsonDocument.Parse(value.ToString()));
但我不斷收到錯誤:元素'Id'與任何字段或類Re的屬性不匹配線。
任何想法爲什麼它不會識別id屬性?
不幸的是不起作用。我已經將BsonId屬性添加到對象和記錄類,並出現相同的錯誤 – EdB
我沒有得到它,如何還應該使用[BsonId]時使用解串器?這不可能嗎? Big gotcha。這將需要我從我的對象中刪除所有[BsonId],然後將所有ID字段從「Id」重命名爲「_id」,這就是從開始就使用[BsonId]的原因,我希望我的ID字段能夠被標記爲_id。 – Bassebus