Я бы хотел добавить соглашение mongodb, чтобы пропустить пустые коллекции при сериализации. Я знаю, что это может быть сделано за класс
BsonClassMap.RegisterClassMap<Class1>(x =>
{
x.AutoMap();
x.GetMemberMap(m => m.Collection1).SetShouldSerializeMethod(x => ((Class1)x).Collection1.Count > 0);
});
но в моем случае это не вариант, и, как правило, было бы лучше сделать это глобально, например,
public void Apply(BsonMemberMap memberMap)
{
if (IsEmptyCollection(memberMap))
{
memberMap.SetShouldSerializeMethod(o => false);
}
}
bool IsEmptyCollection(BsonMemberMap memberMap)
{
// able to see member type here
// but don't seem to be able to retrieve actual object and collection count
}