Как моделировать структуры, такие как семейные деревья, в базах документов - PullRequest
4 голосов
/ 21 июня 2010

Я изучал базы данных документов, в частности RavenDb, и все примеры понятны и понятны.Я просто не могу найти ни одного примера, когда мы не знаем заранее, сколько уровней имеет данная структура.В качестве примера, как бы вы сохранили семейное дерево, учитывая следующий класс:

public class Person{
     public string Name {get;set;} 

     public Person Parent {get;set;}
     public Person[] Children {get;set;}
}

В большинстве примеров, которые я видел, мы ищем совокупный корень и превращаем его в документ.Здесь просто не так очевидно, что такое совокупный корень и граница.

Ответы [ 2 ]

3 голосов
/ 23 июня 2010

Айенде только что опубликовал сообщение в блоге , которое отвечает на это.

2 голосов
/ 21 июня 2010

Полагаю, для RavenDb вам нужно сохранить идентификаторы в вашем объекте:

public class Person {
    public string Name { get; set; }
    public string ParentId { get; set; }
    public string[] ChildrenIds { get; set; }
}

Проверьте эту страницу, особенно внизу, для получения дополнительной информации: http://ravendb.net/documentation/docs-document-design

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...