// public methods /// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public void Apply(BsonMemberMap memberMap) { if (memberMap.MemberType == _type) { memberMap.SetSerializationOptions(_serializationOptions); } }
/// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public void Apply(BsonMemberMap memberMap) { if (memberMap.MemberType.IsEnum) { memberMap.SetSerializationOptions(new RepresentationSerializationOptions(_representation)); } }
// public methods /// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public void Apply(BsonMemberMap memberMap) { if (memberMap.MemberType == _type) { memberMap.SetSerializationOptions(_serializationOptions); } }
/// <summary> /// Applies the specified member map convention. /// </summary> /// <param name="memberMap">The member map convention.</param> public void Apply(BsonMemberMap memberMap) { IBsonSerializationOptions options = null; switch (memberMap.MemberInfo.MemberType) { case MemberTypes.Property: PropertyInfo propertyInfo = (PropertyInfo)memberMap.MemberInfo; if (propertyInfo.PropertyType == typeof(DateTime) || propertyInfo.PropertyType == typeof(DateTime?)) { options = new DateTimeSerializationOptions(DateTimeKind.Local); } break; case MemberTypes.Field: FieldInfo fieldInfo = (FieldInfo)memberMap.MemberInfo; if (fieldInfo.FieldType == typeof(DateTime) || fieldInfo.FieldType == typeof(DateTime?)) { options = new DateTimeSerializationOptions(DateTimeKind.Local); } break; default: break; } memberMap.SetSerializationOptions(options); }
public void Apply(BsonMemberMap memberMap) { if (memberMap.MemberType == typeof(DateTime)) { memberMap.SetSerializationOptions(new DateTimeSerializationOptions(_kind, _representation)); } }
/// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public void Apply(BsonMemberMap memberMap) { if (memberMap.MemberType.IsEnum) { memberMap.SetSerializationOptions(new RepresentationSerializationOptions(_representation)); } }
public static void Test_LoadMongoDetail_01() { Trace.WriteLine("Test_LoadMongoDetail_01"); Trace.WriteLine(); RapideDdl.InitMongoClassMap(); if (BsonClassMap.IsClassMapRegistered(typeof(RapideDdl_Base))) { BsonClassMap map = BsonClassMap.LookupClassMap(typeof(RapideDdl_Base)); Trace.WriteLine("change existing class map"); BsonMemberMap memberMap = map.GetMemberMap("infos"); memberMap.SetSerializationOptions(DictionarySerializationOptions.ArrayOfDocuments); } else { Trace.WriteLine("register class map"); BsonClassMap.RegisterClassMap <RapideDdl_Base>(cm => { cm.AutoMap(); cm.GetMemberMap(c => c.infos).SetSerializationOptions(DictionarySerializationOptions.ArrayOfDocuments); }); } Trace.WriteLine(); string query = "{ _id: 35105 }"; MongoCursor <BsonDocument> cursor = MongoCommand.GetDatabase(null, "dl").GetCollection("RapideDdl_Detail").zFind <BsonDocument>(new QueryDocument(BsonSerializer.Deserialize <BsonDocument>(query))); int i = 1; foreach (BsonDocument document in cursor) { BsonDocument document2 = (BsonDocument)document["download"]; RapideDdl_PostDetail postDetail = BsonSerializer.Deserialize <RapideDdl_PostDetail>(document2); //MongoDB.Bson.Serialization.IBsonSerializationOptions options; //MongoDB.Bson.Serialization.BsonSerializer.Serialize() //Serialization.Options //SerializationOptions //MongoDB.Bson.Serialization.Options.RepresentationSerializationOptions //document2 = postDetail.ToBsonDocument(new DictionarySerializationOptions(DictionaryRepresentation.ArrayOfDocuments)); //DictionarySerializationOptions. //BsonClassMap.RegisterClassMap<RapideDdl_PostDetail>(cm => { cm.MapProperty(c => c.SomeProperty); cm.MapProperty(c => c.AnotherProperty); }); //document2 = postDetail.ToBsonDocument(); Trace.WriteLine("document no {0}", i++); //DocumentSerializationOptions options = new DocumentSerializationOptions(); //Trace.WriteLine(postDetail.ToJson(new DictionarySerializationOptions(DictionaryRepresentation.ArrayOfDocuments))); //RapideDdl_PostDetail RapideDdl_Base //BsonClassMap<RapideDdl_Base> map = BsonClassMap.LookupClassMap(typeof(RapideDdl_Base)); //Trace.WriteLine(document.zToJson()); Trace.WriteLine(postDetail.zToJson()); Trace.WriteLine(); } }
// public methods /// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public virtual void Apply(BsonMemberMap memberMap) { var memberSerializer = memberMap.GetSerializer(memberMap.MemberType); var memberSerializationOptions = memberMap.SerializationOptions; if (memberSerializationOptions == null) { var memberDefaultSerializationOptions = memberSerializer.GetDefaultSerializationOptions(); if (memberDefaultSerializationOptions == null) { var message = string.Format( "A serialization options attribute of type {0} cannot be used when the serializer is of type {1}.", BsonUtils.GetFriendlyTypeName(this.GetType()), BsonUtils.GetFriendlyTypeName(memberSerializer.GetType())); throw new NotSupportedException(message); } memberSerializationOptions = memberDefaultSerializationOptions.Clone(); memberMap.SetSerializationOptions(memberSerializationOptions); } memberSerializationOptions.ApplyAttribute(memberSerializer, this); }
// public methods /// <summary> /// Applies a modification to the member map. /// </summary> /// <param name="memberMap">The member map.</param> public virtual void Apply(BsonMemberMap memberMap) { var memberSerializer = memberMap.GetSerializer(memberMap.MemberType); var memberSerializationOptions = memberMap.SerializationOptions; if (memberSerializationOptions == null) { var memberDefaultSerializationOptions = memberSerializer.GetDefaultSerializationOptions(); if (memberDefaultSerializationOptions == null) { var message = string.Format( "A serialization options attribute of type {0} cannot be used when the serializer is of type {1}.", BsonUtils.GetFriendlyTypeName(this.GetType()), BsonUtils.GetFriendlyTypeName(memberSerializer.GetType())); throw new NotSupportedException(message); } memberSerializationOptions = memberDefaultSerializationOptions.Clone(); memberMap.SetSerializationOptions(memberSerializationOptions); } memberSerializationOptions.ApplyAttribute(memberSerializer, this); }
public void Apply(BsonMemberMap memberMap) { var value = _convention.GetSerializationOptions(memberMap.MemberInfo); memberMap.SetSerializationOptions(value); }
public void Apply(BsonMemberMap memberMap) { var value = _convention.GetSerializationOptions(memberMap.MemberInfo); memberMap.SetSerializationOptions(value); }