Mongo文档在DateTime上的poco错误

时间:2016-10-19 14:54:24

标签: c# mongodb

我的文档如下:

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

我的poco看起来像这样:

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

当我使用JsonConvert读取文档时,我在尝试序列化Date类型时遇到错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你有没有理由使用BsonDateTime?如果你将Bson解放到poco中,只需使用DateTime:

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

答案 1 :(得分:0)

您可以使用BsonAttributes设置MongoDb Bson表示。此外,我总是使用字符串来表示我的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; }
}