我正在从Mongo Driver 1.x迁移到2.x,并遇到Mongo不会简单地为文档生成ID的问题。
实体:
public sealed class History
{
public string Id { get; set; }
public long BusinessId { get; set; }
public ShowcaseVersion Version { get; set; }
}
映射:
cm.AutoMap();
cm.MapIdMember(c => c.Id)
.SetIgnoreIfDefault(true)
.SetSerializer(new StringSerializer(BsonType.ObjectId))
.SetIdGenerator(StringObjectIdGenerator.Instance)
插入:
Collection.InsertOne(new History
{
BusinessId = businessId,
Version = version
});
结果:
E11000重复密钥错误集合:showcases.History index: id dup key:{:null}
答案 0 :(得分:1)
如果你想使用ObjectId代替字符串而不是将其更改为ObjectId,我认为它应该有用。
但是如果你想像你一样使用字符串,这篇文章可能会回答:using string for mongodb _id