sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB C # Driver:¿cómo almacenar _id como ObjectId pero asignar a la propiedad de cadena Id?

Esto ha cambiado, estoy usando el controlador 1.x más reciente (paquete Nuget <package id="mongocsharpdriver" version="2.0.0" targetFramework="net45" /> ) y en lugar de usar SetRepresentation configuraste el 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));
});