using System.Linq.Expressions; using MongoDB.Bson.Serialization; using MongoDB.Bson.Serialization.Options; namespace AscNet.Common.Database { public static class DatabaseExtensions { public static BsonClassMap SetDictionaryRepresentation(this BsonClassMap classMap, Expression> memberLambda, DictionaryRepresentation representation) { var memberMap = classMap.GetMemberMap(memberLambda); var serializer = memberMap.GetSerializer(); if (serializer is IDictionaryRepresentationConfigurable dictionaryRepresentationSerializer) serializer = dictionaryRepresentationSerializer.WithDictionaryRepresentation(representation); memberMap.SetSerializer(serializer); return classMap; } } }