4

私は Mongodb の公式ドライバーを使用しており、次のようなコードを避けるために、要素の名前をデフォルトで小文字に設定したいと考えています。

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

このサンプルでは、​​デフォルトで要素名を小文字の「Country」ではなく「country」にしたいと考えています。出来ますか?

ありがとう

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);

MongoDBCSharpドライバーシリアル化チュートリアル

于 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 に答える