В настоящее время я изучаю MongoDB. Насколько я понимаю, официальный драйвер C # может выполнять сериализацию и десериализацию POCO. Я еще не нашел информации о том, как сериализуется ссылка между двумя объектами. [Я говорю о чем-то, что было бы представлено как два отдельных документа со ссылками ID, а не встроенными документами.
Может ли механизм сериализации справиться с подобной ситуацией? (1):
class Thing {
Guid Id {get; set;}
string Name {get; set;}
Thing RelatedThing {get; set;}
}
Или мы должны пожертвовать ООП и сделать что-то подобное? (2):
class Thing {
Guid Id {get; set;}
string Name {get; set;}
Guid RelatedThing_ID {get; set;}
}
ОБНОВЛЕНИЕ:
Тогда еще пара связанных вопросов ...
а) Если сериализатор может справиться с ситуацией (1). Каков пример того, как это сделать без использования встраивания?
б) При использовании встраивания можно ли будет запрашивать все «Вещи», независимо от того, являются ли они «родительскими» или встроенными элементами? Как бы выглядел такой запрос?