Пример #1
0
 public void Apply(BsonMemberMap memberMap)
 {
     if (memberMap.MemberType == typeof(DateTime))
     {
         var dateTimeSerializer = new DateTimeSerializer(DateTimeKind.Local);
         memberMap.SetSerializer(dateTimeSerializer);
     }
     else if (memberMap.MemberType == typeof(DateTime?))
     {
         var dateTimeSerializer         = new DateTimeSerializer(DateTimeKind.Local);
         var nullableDateTimeSerializer = new NullableSerializer <DateTime>(dateTimeSerializer);
         memberMap.SetSerializer(nullableDateTimeSerializer);
     }
 }
Пример #2
0
        private IBsonSerializer GetBsonSerializer(Type type)
        {
            IBsonSerializer serializer = null;

            if (type == typeof(DateTime))
            {
                serializer = new DateTimeSerializer(DateTimeKind.Local);
            }
            else if (type == typeof(DateTime?))
            {
                var dateTimeSerializer = new DateTimeSerializer(DateTimeKind.Local);
                serializer = new NullableSerializer <DateTime>(dateTimeSerializer);
            }
            return(serializer);
        }
Пример #3
0
        public BaseMongoTest()
        {
            MongoInitHelper.InitMongoDBRepository();

            //如果手动指定关系,则需要同时指定自定义的特殊序列化机制,否则会采用默认的序列化机制
            var dateTimeSerializer         = new DateTimeSerializer(DateTimeKind.Local);
            var nullableDateTimeSerializer = new NullableSerializer <DateTime>(dateTimeSerializer);

            BsonClassMap.RegisterClassMap <MyTestEntity>(rc =>
            {
                rc.MapProperty(i => i.A);
                rc.MapProperty(i => i.B).SetSerializer(dateTimeSerializer);
                rc.MapProperty(i => i.C);
                rc.MapProperty(i => i.D).SetSerializer(nullableDateTimeSerializer);
            });
        }