Indexing RavenDB中的层次结构查询
我在RavenDB的单个文档中保存了一个类别层次结构Indexing RavenDB中的层次结构查询,indexing,ravendb,Indexing,Ravendb,我在RavenDB的单个文档中保存了一个类别层次结构 "CategoryList": [ { "$id": "1", "Id": "Admin", "Name": "Administration", "ParentCategory": null, "Subcategories": [ { "$id": "2", "Id": "Admin1", "Name": "Administration 1", "ParentCate
"CategoryList": [
{
"$id": "1",
"Id": "Admin",
"Name": "Administration",
"ParentCategory": null,
"Subcategories": [
{
"$id": "2",
"Id": "Admin1",
"Name": "Administration 1",
"ParentCategory": {
"$ref": "1"
},
"Subcategories": []
},...
我可以使用这两个类在C#中成功加载它
public class Categories
{
public string Id { get; set; }
public IEnumerable<Category> CategoryList{ get; set; }
}
[JsonObject(IsReference = true)]
public class Category
{
private readonly IList<Category> _subcategories;
public string Id { get; set; }
public string Name { get; set; }
public Category ParentCategory { get; set; }
public IEnumerable<Category> Subcategories
{
get { return _subcategories; }
}
public Category()
{
_subcategories = new List<Category>();
}
public void AddSubcategory(Category subcategory)
{
subcategory.ParentCategory = this;
_subcategories.Add(subcategory);
}
}
执行此查询时,将返回所有类别:
var allCategories = session.Query<Categories, CategoriesByIdIndex>()
.AsProjection<CategoriesByIdIndex.ReduceResult>()
.ToList();
var allCategories=session.Query()
.AsProjection()
.ToList();
但当我尝试按类别Id进行筛选时,会收到一个空列表:
var singleCategory = session.Query<Categories, CategoriesByIdIndex>()
.AsProjection<CategoriesByIdIndex.ReduceResult>()
.Where(x => x.Id == "Admin1")
.ToList();
var singleCategory=session.Query()
.AsProjection()
。其中(x=>x.Id==“Admin1”)
.ToList();
我做错了什么
谢谢
var singleCategory = session.Query<Categories, CategoriesByIdIndex>()
.AsProjection<CategoriesByIdIndex.ReduceResult>()
.Where(x => x.Id == "Admin1")
.ToList();