RavenDB:从弱类型对象添加文档

RavenDB:从弱类型对象添加文档,ravendb,weakly-typed,Ravendb,Weakly Typed,我试图弄清楚如何将弱类型对象作为RavenDB文档插入 例如,我想将Datatable作为文档插入: 每一行都映射到一个文档 这些列是文档中的映射键 整个Datatable是同一架构的文档的集合 尽管数据在Datatable中,但它不适合关系数据库,正确的使用方法是在NoSQL数据库中。 我有许多具有不同模式的不同数据表,我不想手动为每个表创建一个表示类 有什么建议吗?KellyG, 可以使用以下格式执行此操作: public class Item { public Dictiona

我试图弄清楚如何将弱类型对象作为RavenDB文档插入

例如,我想将Datatable作为文档插入:

  • 每一行都映射到一个文档
  • 这些列是文档中的映射键
  • 整个Datatable是同一架构的文档的集合
尽管数据在Datatable中,但它不适合关系数据库,正确的使用方法是在NoSQL数据库中。
我有许多具有不同模式的不同数据表,我不想手动为每个表创建一个表示类

有什么建议吗?

KellyG, 可以使用以下格式执行此操作:

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

}
公共类项目
{
公共字典子项{get;set;}
}

这将干净地序列化到RavenDB中,然后您可以轻松地查询/加载/修改内容

您可以创建一个动态类,其中每个列都是一个字段,然后使用反射创建一个动态类型的新对象,并将行[Col_Name]映射到obj.Col_Name。
创建对象后,将其存储在会话中。

两个问题:1。类定义中的项和字典中的项是同一类型吗?若然,原因为何?2.这个类的序列化不会在根级别创建一个只有一个键的文档吗?我希望所有的“列”都是文档根级别的键。这就是我们最终所做的。