您的位置:首页 > 数据库 > Mongodb

【MongoDB】C#中的Mongo数据类型转换

2016-06-13 10:52 399 查看
用过Mongo的人都知道,Mongo使用的是Bson类型,有string,int,date,bool等数据类型,具体就不详述了。

在使用Mongo 的C#官方驱动时会碰到一个问题,如何将Bson中的数据类型与C#中的数据类型匹配起来。

以下就是我在实际项目中碰到的需要匹配的数据类型。


id


比如说所有的Mongo文档里都有一个_id,如果没有标识,直接在对象类中定义一个_id属性,那么在数据读取或保存时就会报错。

因此在对象类中应当如下进行定义:

[BsonId]
public ObjectId _id { get; set; }



DateTime


又比如在对象类中定义一个DateTime类型,保存到Mongo后再读取出来发现,取出来的日期比存入的日期要小。

原来Mongo数据库中都会将时间保存成UCT时间,即格林威治时间,比北京时间要晚8小时。

不过如果在时间属性前加上以下标签,即可解决问题。

[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
public DateTime BeginTime { get; set; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: