MongoDB:默认情况下是否可以设置BsonElement的大小写?

时间:2012-08-16 14:40:04

标签: mongodb mongodb-.net-driver

我使用的是Mongodb官方驱动程序,我希望默认情况下将元素命名为小写,以避免代码如下:

public class Localization
{
    [BsonId(IdGenerator = typeof(ObjectIdGenerator))]
    public int Id { get; set; }
    [BsonRequired]
    [BsonElement("country")]
    public string Country { get; set; }

在此示例中,我希望默认情况下元素名称为“country”而不是“Country”又称小写。有可能吗?

由于

3 个答案:

答案 0 :(得分:10)

自BsonClassMap.RegisterConventions以来的一个小更新被标记为过时

var camelCaseConventionPack = new ConventionPack { new CamelCaseElementNameConvention() };
ConventionRegistry.Register("CamelCase", camelCaseConventionPack, type => true);

答案 1 :(得分:3)

var conventions = new ConventionProfile();
conventions.SetElementNameConvention(new CamelCaseElementNameConvention());

BsonClassMap.RegisterConventions(conventions, t => true);

MongoDB CSharp Driver Serialization Tutorial

答案 2 :(得分:1)

是。您可以创建ConventionProfile并覆盖ElementName约定。请参阅此处的文档,了解如何执行此操作:http://www.mongodb.org/display/DOCS/CSharp+Driver+Serialization+Tutorial#CSharpDriverSerializationTutorial-Conventions