3

如果我有一个包含列表的对象。我应该将该列表存储在与对象相同的文档中,还是将该列表存储在带有引用的单独文档中。或者我应该将它存储在两者中,也不是照片列表对象的大小会增加,感谢您的任何建议。

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

    //Should I store this inside of the album document?
    public List<Photo> Photos {get; set; } 
}

public class Photo
{
    public string Title { get; set; }
}
4

2 回答 2

4

两者都可以接受。不过阿隆索是对的,等到你有令人信服的理由把它分开。

一个令人信服的原因的例子是,如果您经常需要访问相册的其余信息并且照片列表非常大。另一个示例是,如果您想要在相册上而不是在照片列表上进行版本跟踪。

第三种可能性是将每张照片存储在单独的文档中并引用相册 ID,而不是保留一个列表。

public class Photo
{
    public string Id { get; set; }
    public string Title { get; set; }
    public string AlbumId { get; set; }
}

这实际上取决于什么对您的场景更有效。没有一种正确的方法。

于 2012-12-24T22:35:28.137 回答
4

将列表存储在包含的对象/文档中。除非您有真正令人信服的理由不这样做。

于 2012-12-24T09:42:11.193 回答