У меня есть следующие классы:
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 может быть использован только в интерфейсе пользователя.Также:
public class Property : IDictionary<string, Property>
{
public string Description { get; set; }
public object Value { get; set; }
}
не работает.И если честно, эта семантика была бы самой желанной.(нет необходимости достигать дополнительного свойства OtherData) Но ни та, ни другая семантика не могут быть отображены должным образом.Кто-нибудь пробовал что-то подобное раньше?Любые намеки, как этого добиться?