2013-10-12 49 views
0

我試圖做的CRUD操作上的文檔在MongoDB的C#。我想有固定在C#中的結構域實體長有意義的屬性名稱,但因爲每個屬性的名稱將在MongoDB中保存每個文檔,這不是一個好主意。這是因爲屬性名稱將被冗餘地保存在數據庫中並影響總的存儲和性能。如何在C#中爲mongodb文檔的條目指定不同的名稱?

我能想到的克服這個問題的解決方案,是在C#比MongoDB中用於屬性不同的名稱,這意味着需要在它們之間的映射。這樣做的一種優雅的方式是將C#的屬性,像這樣:

class Book 
{ 
    [BsonProperty("n")] 
    public string Name { get; set; } 
    [BsonProperty("a")] 
    public string Author { get; set; } 
} 

在這種情況下,文件將這樣被保存在數據庫:

{ n: "...", a: "..." } 

我不知道這是否是支持MongoDB的C#驅動程序嗎?我自己找不到,但我希望我在錯看地方!

回答

0

我發現它在最後。

class Book 
{ 
    [BsonElement("n")] 
    public string Name { get; set; } 
    [BsonElement("a")] 
    public string Author { get; set; } 
} 

而這是the page的細節。

+0

死鏈接, http://mongodb.github.io/mongo-csharp-driver/2.2/reference/bson/mapping/ – wonster

相關問題