Json.net RavenDB-在3.0中映射mssing(额外)属性的简单方法

Json.net RavenDB-在3.0中映射mssing(额外)属性的简单方法,json.net,ravendb,Json.net,Ravendb,我正在寻找一种方法,将C对象中未映射的所有属性放入通用词典中,并在写回raven时返回到文档中。但是我不想让我的模型依赖于RavenDB class Foo { [JsonExtensionData] public Dictionary<string, object> Unmapped { get; set; } } var foo = new Foo{ Unmapped=new Dictionary<string, object>{{"bar","foo"

我正在寻找一种方法,将C对象中未映射的所有属性放入通用词典中,并在写回raven时返回到文档中。但是我不想让我的模型依赖于RavenDB

class Foo {
   [JsonExtensionData]
   public Dictionary<string, object> Unmapped { get; set; }
}

var foo = new Foo{ Unmapped=new Dictionary<string, object>{{"bar","foo"} }
但是它应该被序列化和反序列化为{foo:bar}

在Json.Net中,有上面的JsonExtensionDataAttribute,它实现了我想要的功能。这个属性在我的Raven3.0版本中也可用,但它似乎不起作用,我还注意到,从今天起,RavenDB master中就没有这个属性了

我想完成的是存储我从一个源收到的所有数据,但只映射我现在需要的道具,然后在需要时添加或删除属性,而不更改数据


那么,在Ravendb3.0中解决这一问题的最佳方法是什么呢?

这应该适合您。确保使用Raven.Imports.Newtonsoft.Json名称空间中的属性

是,但我不想让该模型依赖于我上面所写的RavenDB.Abstraction。因为模型组件也在不同的地方使用。