在DateTime上Mongo文档到poco错误

本文关键字:poco 错误 文档 Mongo DateTime | 更新日期: 2023-09-27 18:13:52

我的文档是这样的:

{
    "_id" : ObjectId("58064346e74f22124037a607"),
    "Date" : ISODate("2016-10-18T15:44:01.083Z")
}

我的poco是这样的:

public class MyClass
{
    public ObjectId _id;
    Public BsonDateTime Date;
}

当我使用JsonConvert读取文档时,当它试图序列化日期类型时,我得到一个错误。

有什么想法吗?

在DateTime上Mongo文档到poco错误

您可以使用BsonAttributes来设置MongoDb的Bson表示。此外,我总是使用string来表示dto中的ObjectId,并使用如下所示的属性来正确地进行序列化/反序列化

using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
public class MyClass
{  
    [BsonRepresentation(BsonType.ObjectId)]
    [BsonId]
    public string Id { get; set; }
    [BsonRepresentation(BsonType.DateTime)]
    public DateTime Date { get; set; }
}

你使用BsonDateTime有什么原因吗?如果要反序列化Bson in到poco,只需使用DateTime:

public class MyClass
{
    public ObjectId _id;
    Public DateTime Date;
}