我有一节课。
我将课程添加到mongodb。
但DateTime Properties显示字符串
C#
public class FRM_FORMREQUEST
{
public int ORACLE_ID { get; set; }
public string FORMNUMBER { get; set; }
public string COMPANYCODE { get; set; }
public DateTime? RECORDDATE { get; set; }
public string RECORDUSER { get; set; }
}
mongodb记录
{
"_id" : ObjectId("56927dfc249d951f1031f526"),
"ORACLE_ID" : 771653,
"FORMNUMBER" : "4992014309217",
"COMPANYCODE" : "499",
"RECORDDATE" : "2014-08-21T19:35:27",
"RECORDUSER" : "parttime35"
}
商业
var jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(FRM_FORMREQUEST);
MongoDB.Bson.BsonDocument document = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(jsonData);
frmFormCollection.Insert(document);
我想要插入日期
感谢所有人的帮助。
答案 0 :(得分:2)
问题在于您使用Json.Net将其序列化为JSON,默认情况下会将日期写为ISO 8601标准格式的字符串。然后,您使用BsonSerializer将其反序列化为BsonDocument
,除非您给出任何其他指令,否则将假设这些是字符串。
我不得不问,为什么要跳过这些篮球?当您致电Insert()
时,为什么不让司机为您序列化您的对象?
collection.Insert(FRM_FORMREQUEST);
或者,如果您必须使用BsonDocument
,请使用mongo BsonSerializer直接转换对象(而不是先将其转换为Json)。
var document = FRM_FORMREQUEST.ToBson();
collection.Insert(document);