MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Driver MongoDB C # - como armazenar _id como ObjectId, mas mapear para a propriedade string Id?


Isso mudou, estou usando o driver 1.x mais recente (pacote Nuget <package id="mongocsharpdriver" version="2.0.0" targetFramework="net45" /> ) e em vez de usar SetRepresentation você definir o serializador.
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));
});