Unterschied zwischen dem Dekorieren einer Eigenschaft in C # mit BsonRepresentation (BsonType.ObjectId) und BsonId und ObjectId

Mongodb ist neu und ich mag, wie einfach es ist, sich keine Gedanken über Schemasachen zu machen. Ich habe eine Frage, nehme an, Sie möchten eine Id-Eigenschaft in Mongo und Mongo verwendetObjectId um Eigenschafts-IDs zu kennzeichnen, soweit ich sehe, können Sie eine ID wie folgt haben oder dekorieren,

public ObjectId Id {get; set;}

//or

[BsonId]
public string Id {get; set;}

//or

[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id {get; set;}

Kann mir jemand erklären, warum die meisten Leute den letzten Typ wählen und was los ist und wie die Flexibilität hilft. Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage