Возьмите этот пример модели:
public class Location
{
public string Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class Activity
{
public string Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
Взаимосвязь между этими документами в каком-либо месте может не иметь или выполнять несколько действий. Скажем, в Лондоне можно поиграть в пейнтбол, заняться картингом и т. Д.
Я решил поместить эти документы в один документ, но, просматривая и читая документацию и блоги, к документам нужно обращаться отдельно. Вы можете представить себе страницу веб-сайта для каждого местоположения, в которой перечислены действия и страницы действий с подробными сведениями.
Примеры запросов:
- Выбрать все местоположения
- Получение сведений о местоположении (с указанием имени местоположения из URL)
- Получить все действия для каждого местоположения (с указанием имени местоположения из URL)
- Извлечение сведений о деятельности (с указанием названия местоположения и названия деятельности из URL)
Использование метода DenormalizedReference, описанного по адресу:
http://blogs.sonatribe.com/wayne/2011/07/06/using-denormalized-references-in-ravendb/
(и я видел это, но не мог понять синтаксис или если он делает то, что мне нужно
http://ravendb.net/faq/denormalized-references
)
Кажется, вписывается в мои сценарии. Но при создании демонстрационного проекта с вышеуказанными типами я заметил, что если я изменил название местоположения, оно не изменило его в действии. Синхронизация документов - это большая вещь.
Так как мне этого добиться?