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

时间:2014-11-21 12:48:05

标签: json.net ravendb

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

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(今天)中不可用。

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

那么在RavenDB 3.0中解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

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