Простой вариант - сохранить ваши объекты как:
public class Document
{
public String Name { get; set; }
public List<Item> People { get; set; }
}
public class Item
{
public String Key { get; set; }
public String Value { get; set; }
}
Затем сопоставить ваши данные для чтения / записи между вашими классами и этими.
Возможно, лучшим вариантом будет измените ваши данные при сохранении в:
public class Item
{
public String Name { get; set; }
public String Key { get; set; }
public String Value { get; set; }
}
Тогда поиск Name
по Key
и Value
будет намного проще, и вы все равно можете собрать Item
s в один объект путем запроса по имени или путем агрегирования и использования имени groupBy в качестве последнего шага в конвейере.
Это также позволило бы упростить добавление или удаление отдельных элементов без изменения больших документов.