MongoDB中的ID是一个hash码,和传统的关系数据库相比MongoDB没有办法实现ID的自增,如果需要ID自增的话,所以要自己管理ID,并且把对应类型的ID写入到一个专门的Collection(其实就是Sql中的Table)里面去,每次创建新对象的时候,都要取到该类型当前的ID,然后在这个基础上+1,比如当前是角色的ID是1,又创建了一个新的角色,要在原来的基础上+1 ID=2。今天先把MongoDB的对象实体基类实现了。
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using Newtonsoft.Json;
using System;
namespace Servers.Core
{
[BsonIgnoreExtraElements]
public class YFMongoEntityBase
{
/// Id
[JsonConverter(typeof(YFObjectIdConverter))]
public ObjectId Id;
//自己管理的 数据库id(主键)
public long YFId;
//状态
public DataStatus Status;
//创建时间
public DateTime CreateTime;
//修改时间
public DateTime UpdateTime;
}
}