2012-08-16 51 views
2

我使用MongoDB的官方驅動程序,我想用默認元素的命名設置爲小寫,以避免這樣的代碼:MongoDB:默認情況下是否可以設置BsonElement的大小寫?

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

在此示例中,我想,默認情況下該元素的名稱是「國家「而不是」國家「又名小寫字母。可能嗎?

謝謝

回答

9

一個小更新,因爲BsonClassMap.RegisterConventions被標記爲已過時

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

此外,請確保在使用BsonClassMap註冊類型之前添加此約定,否則您的時間就會很糟糕! – Dusda 2015-10-16 00:08:29

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

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

MongoDB CSharp Driver Serialization Tutorial

+1

雖然我能體會我的答案的unacceptance如果這真的更好,這個問題明確提到小寫,而不是駱駝的情況。由於不包括小寫慣例,因此您需要編寫自己的(因此我的答案)。如果他合理地希望爲他的領域提供駱駝案例,那麼我們應該編輯該問題以反映未來的圍觀者。 – 2012-12-09 22:41:21

+1

答案已過時。建議的解決方案使用過時的驅動程序方法。 – 2013-04-20 08:24:11

相關問題