2012-06-07 54 views
0

我想弄清楚如何將弱類型對象作爲RavenDB文檔插入。RavenDB:從弱類型對象中添加文檔

例如,我想插入一個DataTable作爲文檔:

  • 每一行被映射到一個單獨的文檔
  • 的列在文檔中映射鍵
  • 整個數據表是一組具有相同模式的文檔

雖然數據在Datatable中,但它不適合關係數據庫,並且正確使用將在NoSQL DB中。
我有很多不同的數據表與不同的模式,我不想爲每個表手動創建代表類。

有什麼建議嗎?

回答

0

您可以創建一個動態類,其中每列是一個字段,然後使用反射創建動態類型的新對象,並將Row [Col_Name]映射到obj.Col_Name。 在會話中創建對象存儲後。

+0

這就是我們最終做的。 – KellyG

2

KellyG, 你可以做,使用的格式,例如這樣的:

public class Item 
{ 
    public Dictionary<string, Item> Children {get;set;} 

} 

這將乾淨序列化到RavenDB,然後你可以查詢/負載/輕鬆修改的東西

+1

有兩個問題:1.類定義中的Item和Item中的Item是相同的類型?如果是這樣,爲什麼? 2.這個類的序列化不會在根級創建一個具有單個鍵的文檔嗎?我希望所有的「列」都是文檔根級別的關鍵字。 – KellyG