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中解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
这应该适合你。确保使用Raven.Imports.Newtonsoft.Json命名空间中的属性