När du infogar ett objekt, om det inte har ett _id
fältet lägger drivrutinen till en och ställer in den till ett 12-byte MongoDB ObjectId-värde.
Du behöver bara lägga till ett Id
egendom till din POCO, som kommer att deserialiseras från _id
:
public class Thingy
{
public ObjectId Id { get; set; }
}
Eller om du vill delegera en annan egendom att mappa till _id
sedan kan du dekorera den med BsonIdAttribute
, så här:
[BsonId]
public ObjectId MyKey { get; set; }
_id
fältet behöver inte vara ett MongoDB ObjectId
, du kan ställa in det på vilket värde som helst av vilken datatyp som helst (förutom en array), den behöver bara vara unik i samlingen.