4

我正在使用 Mongodb 官方驱动程序,我想默认将元素的命名设置为小写以避免这样的代码:

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

在这个示例中,我希望元素名称默认为“国家”而不是“国家”,即小写。是否可以?

谢谢

4

3 回答 3

14

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

var camelCaseConventionPack = new ConventionPack { new CamelCaseElementNameConvention() };
ConventionRegistry.Register("CamelCase", camelCaseConventionPack, type => true);
于 2013-07-17T08:12:00.193 回答
3
var conventions = new ConventionProfile();
conventions.SetElementNameConvention(new CamelCaseElementNameConvention());

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

MongoDB CSharp 驱动序列化教程

于 2012-11-15T17:00:50.150 回答
1

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

于 2012-08-17T14:29:36.780 回答