我想知道在多个位置使用对象时如何处理。给定以下代码(只是示例代码):-
public class Group
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public List<Person> People { get; set; }
public List<Meeting> Meetings { get; set; }
}
public class Meeting
{
public string Subject { get; set; }
public List<Person> Attendees { get; set; }
}
public class Person
{
public string Name { get; set; }
}
如果我将组存储为 mongodb 文档,它将序列化所有人员和会议。但是,可以在人员列表中引用相同的人员对象并作为会议的与会者。但是,一旦序列化,它们就会成为单独的对象。如何在人员列表和会议列表中保持相同的“人员”对象?
或者有更好的方法来建模吗?可以做的一件事是将“人员”放在单独的文档中并嵌入/引用它?然后开始创建越来越多的单独集合,理想情况下我想在单个文档中维护引用。
或者在一个文档中,我应该给每个人加上一个主列表,然后只在“会议”中存储 ID 列表,并使用某种辅助方法从主列表中解析 ID?可以做,但是有点丑。