我有以下课程:
public class Property
{
public string Description { get; set; }
public object Value { get; set; }
[BsonExtraElements]
public IDictionary<string, Property> OtherData { get; set; }
}
public class Device
{
public string DeviceId { get; set; }
public IDictionary<string, Property> Properties { get; set; }
}
我想要在json中实现并映射到这些类的是:
{
"DeviceId":"asd",
"Properties":{
"PropertyA":{
"Description":"some info",
"PropertyAB":{
"Description":"some info",
"Value":"etc"
}
},
"PropertyB":{
"Description":"some info",
"Value":"etc"
}
}
}
因此,如您所见,我想以递归的方式使用ExtraElements来映射具体的“属性”模型。但是上面的代码将失败,因为BsonExtraElements只能在IDicionary接口中使用。 另外:
public class Property : IDictionary<string, Property>
{
public string Description { get; set; }
public object Value { get; set; }
}
不起作用。老实说,最需要这种语义。 (无需达到额外的属性OtherData) 但是我无法正确映射这两种语义。 有人尝试过类似的东西吗?任何提示如何实现这一目标?