MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB C#-Treiber – Wie speichert man _id als ObjectId, aber ordnet es der String-Id-Eigenschaft zu?

Dies hat sich geändert, ich verwende den neuesten 1.x-Treiber (Nuget-Paket <package id="mongocsharpdriver" version="2.0.0" targetFramework="net45" /> ) und statt SetRepresentation zu verwenden Sie setzen den Serialisierer.

public class RegistrationAttempt
{
    public string AttemptId { get; set; }
}

BsonClassMap.RegisterClassMap<RegistrationAttempt>(cm =>
{
    cm.AutoMap();
    cm.MapIdProperty(c => c.AttemptId)
        .SetIdGenerator(StringObjectIdGenerator.Instance)
        .SetSerializer(new StringSerializer(BsonType.ObjectId));
});