Пример #1
0
        /// <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());
            }
        }
Пример #3
0
 // 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);
 }
Пример #4
0
 // 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);
 }