如果我已保存的文件看起来是这样的:在RavenDB中,如何查询文档中的嵌套“对象”?
Category {
public string Id {get;set;}
public List<Category> Categories {get;set;}
...
}
基本上是一个类别,与子类别。在我的情况下,只有深度2级(1个父级,n个子类别)。
查询所有类别的效果很好,显示一个不错的列表(也有嵌套的子类别列表)。我的用户只能点击一个子类别,查看选定类别中的内容。我想抽出1个子类别,作为Category
。
给定一个子类别Id,我将如何拉出其中一个子类别,因为它是独立的Category
?
更新
我想补充,我解决这个越来越受这样做:
Category pCat = RavenSession.Query<Category>().Where(x => x.Categories.Any(c => c.Id == id)).FirstOrDefault();
Category cat = pCat.Categories.Where(x => x.Id == id).FirstOrDefault();
它首先获取其中包含的子类别的类别,然后查询子 - 该类别的类别可以提取特定的子类别。
也许这是更好的,我不知道...但似乎它做了2个步骤,当1可以满足。
更新2
所有ID在这些类别的手动添加,无RavenDB自动识别的(甚至是子类有一个ID)。
请说明:您是否想获得给定子类别标识的类别? –