【问题标题】:MongoDB C#: Cannot deserialize a 'String' from BsonType 'DateTime'MongoDB C#:无法从 BsonType 'DateTime' 反序列化 'String'
【发布时间】:2018-11-15 12:28:32
【问题描述】:

我正在使用 MongoDB 驱动程序在我的 C# .NET Core 应用程序中使用 Azure CosmosDB 的 Mongo API。

我有一个包含以下内容的课程:

class MyModel
{
 [BsonElement("mydate")]
 public string MyDate { get; set; }
}

当我尝试检索模型时(表包含DateTime),我收到以下错误:

无法从 BsonType 'DateTime' 反序列化 'String'。

我试过这样做:

 [BsonElement("mydate")]
 [BsonRepresentation(BsonType.DateTime)]
 public string MyDate { get; set; }

但后来我得到了这个错误:

DateTime 不是 StringSerializer 的有效表示。

【问题讨论】:

    标签: c# mongodb


    【解决方案1】:

    您是否尝试将其转换为

    class MyModel
    {
     [BsonElement("mydate")]
     public DateTime MyDate { get; set; }
    }
    

    【讨论】:

    • 我做了,但后来我得到了String '15/08/2018' was not recognized as a valid DateTime
    • @MaximilianAst 我无权访问数据库,日期已按原样插入...以后有没有办法格式化它?
    • @Eutherpyyou 可以使用 var regDate = DateTime.ParseExact(yourdate, "dd/MM/yyyy", CultureInfo.InvariantCulture); 解析字符串日期;
    猜你喜欢
    • 1970-01-01
    • 2016-12-09
    • 2013-11-08
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多