/// <inheritdoc/> public void Apply(BsonMemberMap memberMap) { if (memberMap != memberMap.ClassMap.IdMemberMap) { return; } if (memberMap.MemberType != typeof(string)) { return; } var defaultStringSerializer = BsonSerializer.LookupSerializer(typeof(string)); if (memberMap.GetSerializer() != defaultStringSerializer) { return; } if (memberMap.IdGenerator != null) { return; } memberMap.SetSerializer(new StringSerializer(representation: BsonType.ObjectId)); memberMap.SetIdGenerator(StringObjectIdGenerator.Instance); }
///<inheritdoc/> public void PostProcess(BsonClassMap classMap) { BsonMemberMap idMapeado = classMap.IdMemberMap; if (idMapeado != null && idMapeado.MemberName == "Id" && idMapeado.MemberType == typeof(string)) { idMapeado.SetIdGenerator(new StringObjectIdGenerator()); } }
// public methods /// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public void Apply(BsonMemberMap memberMap) { memberMap.SetOrder(_order); if (_idGenerator != null) { var idGenerator = (IIdGenerator)Activator.CreateInstance(_idGenerator); // public default constructor required memberMap.SetIdGenerator(idGenerator); } memberMap.ClassMap.SetIdMember(memberMap); }
public void Apply(BsonMemberMap memberMap) { if (memberMap.MemberName != "Id" || memberMap.MemberType != typeof(Guid)) { return; } memberMap .SetIdGenerator(GuidGenerator.Instance) .SetIsRequired(true) .SetSerializer(new GuidSerializer()) .SetOrder(0) .SetElementName("_id"); CallistoLogger.ConventionsLogger.Id(memberMap.ClassMap.ClassType.Name, memberMap.MemberName); }