Element name
To specify an element name using attributes, write:
public class MyClass {
[BsonElement("sp")]
public string SomeProperty { get; set; }
}
The same result can be achieved without using attributes with the following initialization code:
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.AutoMap();
cm.GetMemberMap(c => c.SomeProperty).SetElementName("sp");
});
Element order
public class MyClass {
[BsonElement("sp", Order = 1)]
public string SomeProperty { get; set; }
}
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.AutoMap();
cm.GetMemberMap(c => c.SomeProperty).SetElementName("sp").SetOrder(1);
});
Identifying the Id field or property
public class MyClass {
[BsonId]
public string SomeProperty { get; set; }
}
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.MapIdProperty(c => c.SomeProperty);
// mappings for other fields and properties
});
Ignoring null values
public class MyClass {
[BsonIgnoreIfNull]
public string SomeProperty { get; set; }
}
Or using initialization code instead of attributes:
BsonClassMap.RegisterClassMap<MyClass>(cm => {
cm.AutoMap();
cm.GetMemberMap(c => c.SomeProperty).SetIgnoreIfNull(true);
});