0
我刚刚在一个简短的实验后重新访问了RavenDB。目前我正在考虑嵌套3层深的文件设计,即RavenDB文档设计,修补和索引创建
public class UserEvent
{
public UserEvent()
{
Shows = new List<Show>();
}
public readonly string IdPrefix = "Events/";
public string Id { get; set; }
public string Title { get; set; }
public List<Show> Shows { get; set; }
}
public class Show
{
public Show()
{
Entries = new List<ShowEntry>();
}
public readonly string IdPrefix = "Shows/";
public string Id { get; set; }
public string EventId { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
public List<ShowEntry> Entries { get; set; }
}
public class ShowEntry
{
public readonly string IdPrefix = "ShowEntries/";
public string Id { get; set; }
public string DogId { get; set; }
public string OwnerName { get; set; }
public EntryClass Class { get; set; }
}
首先,这是一个合理的设计? A UserEvent
通常具有几个(少于6个)Show
,但是Show
可以具有数十到数百个ShowEntry
。我已将DogId
包含在ShowEntry
中,但可能稍后我会将其更改为Dog
类型的属性。 A Dog
属于特定的Breed
,并且Breed
属于Group
。故事的Dog
一边将不得不是另一个问题,但现在我对UserEvent
方面感兴趣。
如果我的文档是按照这种方式设计的,我可以使用补丁API将项目添加到Show
内的Entries
集合中?我想有一个索引来总结基于狗属性的参赛作品。如果文档被打补丁,索引会得到处理吗?