如果我已保存的文件看起來是這樣的:在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)。
請說明:您是否想獲得給定子類別標識的類別? –