using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Bson.Serialization.Serializers;
public class EmptyStringAvoidingSerializer : SerializerBase<string>
public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, string value)
if (string.IsNullOrEmpty(value))
context.Writer.WriteNull();
context.Writer.WriteString(value);
public override string Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
var value = context.Reader.ReadString();
return value ?? string.Empty;
public ObjectId Id { get; set; }
public string Name { get; set; }
[BsonSerializer(typeof(EmptyStringAvoidingSerializer))]
public string Description { get; set; }
public static void Main()
Console.WriteLine("Hello World");
Console.WriteLine(newItem.ToJson());