Use ObjectId.GenerateNewId() or leave MongoDB to create one?
When you insert a new mongodb document the son driver check if exist a property with the BsonId
AttributeClass. If exist and is null it create a new ObjectId, if doesn't exist during the document insertion mongodb will generate e new ObjectId
.
Sometimes users encounter problem with "only zero" ObjectId, for this reason my suggestion is to use a combination of BsonID
attribute class and ObjectId.GenerateNewId
so you are sure that that property will not have weird behaviour.
e.g.
public class SomeClass {
[BsonId]
public ObjectId MySuperId { get; set; }
public SomeClass() {
this.MySuperId = ObjectId.GenerateNewId();
}
}