2012-06-07 87 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