Я следил за Linq Роба Конери для MongoDB и натолкнулся на вопрос. В примере он показывает, как вы можете легко вложить дочерний объект. Для моего текущего эксперимента у меня есть следующая структура.
class Content
{
...
Profile Profile { get; set; }
}
class Profile
{
...
}
Это прекрасно работает при просмотре контента. Дилемма, с которой я сейчас сталкиваюсь, заключается в том, хочу ли я рассматривать Профиль как атомарный объект. В нынешнем виде мне кажется, что я не могу напрямую запросить объект Profile, но он поставляется с результатами содержимого. Если я хочу, чтобы он был инклюзивным, но также мог запрашивать только профиль, я чувствую, что мой первый инстинкт - сделать профили объектом верхнего уровня, а затем создать структуру внешнего ключа, подобную структуре класса Content, чтобы связать их вместе.
Мне кажется, что я прибегаю к практике СУРБД, и мне кажется, что я, скорее всего, иду против духа Монго. Как бы вы относились к объекту, на который вам нужно воздействовать независимо, но также хотите, чтобы он был дочерним объектом другого объекта?