我有一个类。
我在mongodb中添加了类。
但是DateTime属性显示字符串
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);
我想要插入像日期
谢谢你的帮助。
问题是使用JSON.Net将其序列化为JSON,默认情况下,JSON.Net会将日期写入ISO 8601标准格式的字符串。然后使用BsonSerializer将其反序列化为BsonDocument
,它(除非您给它任何其他指令)只会假设这些是字符串。
我不得不问,为什么要跳过这些障碍?当您调用Insert()
时,为什么不让驱动程序为您序列化对象呢?
collection.Insert(FRM_FORMREQUEST);
或者,如果必须使用BsonDocument
,请使用mongoBsonSerializer直接转换对象(而不是先将其转换为Json)。
var document = FRM_FORMREQUEST.ToBson();
collection.Insert(document);