MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pilote MongoDB C # - comment stocker _id en tant qu'ObjectId mais mapper à la propriété Id de chaîne?

Cela a changé, j'utilise le dernier pilote 1.x (package Nuget <package id="mongocsharpdriver" version="2.0.0" targetFramework="net45" /> ) et au lieu d'utiliser SetRepresentation vous définissez le sérialiseur.

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));
});