public override void Map(BsonClassMap <Enumeration> cm) { cm.MapMember(x => x.Id); cm.MapMember(x => x.Name); cm.AddKnownType(typeof(BlockType)); cm.AddKnownType(typeof(Behavior)); }
// public methods /// <summary> /// Applies a modification to the class map. /// </summary> /// <param name="classMap">The class map.</param> public void Apply(BsonClassMap classMap) { foreach (var type in _knownTypes) { classMap.AddKnownType(type); } }
public static void RegisterV3ClassMap() { var rootTypes = AppDomain.CurrentDomain .GetAssemblies() .SelectMany(assembly => assembly .GetTypes()) .Where(type => type.GetCustomAttributes(typeof(AddBsonKnowTypesAttribute), false).Any() && type.IsClass && type.IsAbstract) .ToList(); foreach (var rootType in rootTypes) { var subTypes = AppDomain.CurrentDomain .GetAssemblies() .SelectMany(assembly => assembly.GetTypes()) .Where(type => rootType.IsAssignableFrom(type) && type.IsClass && !type.IsAbstract) .ToList(); var bsonClassMap = new BsonClassMap(rootType); bsonClassMap.AutoMap(); bsonClassMap.SetIsRootClass(true); subTypes.ForEach(type => bsonClassMap.AddKnownType(type)); BsonClassMap.RegisterClassMap(bsonClassMap); } }
public static void Register(BsonClassMap <BaseCommand> cm) { cm.AutoMap(); AppDomain.CurrentDomain.GetAssemblies().SelectMany(assem => assem.GetTypes()).Where(type => type.IsSubclassOf(typeof(BaseCommand))).ToList() .ForEach(type => cm.AddKnownType(type)); cm.SetIgnoreExtraElements(true); }
public virtual void Apply([NotNull] BsonClassMap classMap) { if (classMap == null) { throw new ArgumentNullException(nameof(classMap)); } classMap.AddKnownType(DerivedType); }
public static void Register(BsonClassMap <Condition> cm) { cm.AutoMap(); cm.SetIsRootClass(true); cm.SetIgnoreExtraElements(true); var featureType = typeof(Condition); featureType.Assembly.GetTypes() .Where(type => featureType.IsAssignableFrom(type)).ToList() .ForEach(type => cm.AddKnownType(type)); }
public override void Map(BsonClassMap <PersonName> cm) { cm.MapMember(x => x.Value); cm.AddKnownType(typeof(FirstName)); cm.AddKnownType(typeof(LastName)); }