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; } }