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); } }
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); }
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); }); }