说我在RavenDb中有以下文件:
public class TopLevel
{
public string Id { get; set; }
public string Name { get; set; }
}
public class NextLevel
{
public string Id { get; set; }
public string TopLevelId { get; set; }
public string Name { get; set; }
}
public class Leaf
{
public string Id { get; set; }
public string NextLevelId { get; set; }
public string Name { get; set; }
}
以下viewmodels:
public class TopLevelViewModel
{
public string Id { get; set; }
public string Name { get; set; }
public List<NextLeveViewModell> NextLevels { get; set; }
}
public class NextLevelViewModel
{
public string Id { get; set; }
public string TopLevelId { get; set; }
public string Name { get; set; }
public List<LeafViewModel> Leaves { get; set; }
}
public class LeafViewModel
{
public string Id { get; set; }
public string NextLevelId { get; set; }
public string Name { get; set; }
}
构建该视图模型的最佳方法是什么,而不需要前往数据库并手动收集/构建结构?
我可以使用多地图吗?
可能是一个愚蠢的问题,但我有一段时间没有使用过RavenDb!一直在做Android / iPhone开发有点生疏!
答案 0 :(得分:1)
这里最好的想法是不将它们作为单独的文档。单个文档可以包含所有这些。换句话说,您描述为视图模型的结构可以作为文档结构直接存储到数据库中。
当然,这意味着您将始终通过顶级ID检索文档。如果没有这些节点所代表的其他背景,很难说这是否合适。
此外,您似乎已经从this thread获得了有关RavenDB Google Group的良好反馈。尽量不要在将来交叉发帖。如果你想要一些非常具体的东西,那么StackOverflow就很棒。如果您需要更多关于创意的一般方法或辩论,请使用Google网上论坛。
如果您可以将问题编辑为更具体,可能会显示您正在尝试的索引和查询,那么我会相应更新。